django 如何自定义drf-yasg端点的示例响应?

flvtvl50  于 2023-03-24  发布在  Go
关注(0)|答案(2)|浏览(158)

在我的Django项目中,我使用了DRF和drf-yasg。在某些端点,示例响应主体显示了错误的示例。如以下示例:

但其中一些没有显示正确的示例响应body.

此端点实际上返回access_token和refresh_token,不返回电子邮件和密码。对于前端开发人员来说,这是错误的信息。有什么方法可以更改吗?

qgzx9mmu

qgzx9mmu1#

下面是一个使用@swagger_auto_schema注解和3个序列化器的示例。1个请求序列化器和2个响应序列化器(成功和错误序列化器)。

class RequestSerializer(serializers.Serializer):
   param = serializers.CharField()

                  
class SucessSerializer(serializers.Serializer):
   success = serializers.BooleanField()
   message = serializers.CharField()

                     
class ErrorSerializer(serializers.Serializer):
   success = serializers.BooleanField()
   errors = serializers.IntegerField()
class ExampleViewView(APIView):

    @swagger_auto_schema(
        request_body = RequestSerializer,
        responses={
            '200': SucessSerializer,
            '500': ErrorSerializer,
        },
        operation_description = 'Doc description'
    )
    def post(self, request):
        
        return successResponse({
            'sucess': True
        })
bihw5rsg

bihw5rsg2#

看看drf-yasg docs,有一种方法可以让jwt的响应看起来更好。

相关问题