【问题标题】:how do I properly handle rest responses?如何正确处理休息反应?
【发布时间】:2021-02-28 18:15:37
【问题描述】:

我想在 Django restful 框架上处理错误响应以满足我的需求,但我想知道具体在哪里,以及如何正确处理像 400,200,403 这样的错误响应,在我的情况下,如果我想返回错误 400查询参数丢失或无

class ServiceViewSet(mixins.ListModelMixin,
                      viewsets.GenericViewSet):

    queryset = Service.objects.all()
    serializer_class = ServiceSerializer

    def get_queryset(self):
        domain = self.request.query_params.get('domain', None)
        domain_id = Domain.objects.filter(name=domain).first()

        if domain is not None:
            self.queryset = self.queryset.filter(domain=domain_id)
        return self.queryset

【问题讨论】:

    标签: django api django-rest-framework


    【解决方案1】:
        def list(self, request, *args, **kwargs):
            from rest_framework.response import Response
            from rest_framework import status
            domain = self.request.query_params.get('domain', None)
            if domain is None:
                # here you can return you expected response 200, 300 etc.
                return Response(status=status.HTTP_204_NO_CONTENT)
            return super(ServiceViewSet, self).list(request, *args, **kwargs)
    

    覆盖类中的列表方法。

    【讨论】:

      猜你喜欢
      • 2020-02-04
      • 1970-01-01
      • 2017-09-16
      • 2016-02-10
      • 1970-01-01
      • 2015-02-27
      • 2020-03-07
      • 1970-01-01
      相关资源
      最近更新 更多