2

views.py:

from django.http import JsonResponse
from rest_framework import schemas
from rest_framework import status, response
from rest_framework.decorators import api_view, renderer_classes
from rest_framework_swagger.renderers import OpenAPIRenderer, SwaggerUIRenderer

from DjangoProject.settings import db
from DjangoProjectApp.serializers import RestaurantsSerializer


@api_view()
@renderer_classes([OpenAPIRenderer, SwaggerUIRenderer])
def schema_view(request):
    generator = schemas.SchemaGenerator(title='Restaurant API')
    return response.Response(generator.get_schema(request=request))


@api_view(['GET'])
def restaurant_list(request):
    if request.method == 'GET':
        restaurantCollection = db.Restaurant
        restaurantlist = []
        for s in restaurantCollection.find():
            restaurantlist.append(s)
        serializer = RestaurantsSerializer(restaurantlist, many=True)
        return JsonResponse(serializer.data, status=status.HTTP_201_CREATED, safe=False)

models.py:

from django.db import models


class Restaurant(models.Model):
    _id = models.TextField()
    name = models.TextField()
    rating = models.IntegerField()

serializers.py:

from rest_framework import serializers

from DjangoProjectApp.models import Restaurant


class RestaurantsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Restaurant
        fields = ('_id', 'name', 'rating')

Now, how I can show the Response Messages in Swagger using Django.

In Response Messages there is only 200 is showing as Response Code.

I need to show the responses for different Status Codes. I need the full description for this.

Thanks in advance.

Avijit Karmakar
  • 8,890
  • 6
  • 44
  • 59

0 Answers0