【问题标题】:Django, apidoc js What to add in a PUT method?Django, apidoc js 在 PUT 方法中添加什么?
【发布时间】:2018-03-03 16:22:56
【问题描述】:

我已经阅读了 apidoc.js 文档,但我遇到了一个难题。我不完全知道@apiParam 和@apiSucces 之间的区别,文档没有正确解释它们的真正作用。例如,我在 get 中有一个带有这些参数的 get 和一个 put:

我在 django 中使用 apidoc,这是我的观点:

class LocationView(APIView):

    """
    @api {get} /locations/:id/ Location id - details
    @apiName GetLocation
    @apiGroup Locations

    @apiParam {integer} [id] Location id.
    @apiParam {string} [name] Location name.
    @apiParam {object} [company] Company name.
    @apiParam {string} [website] Location website.

    @apiSuccess {object[]} results List with location details
    """
    serializer_class = LocationSerializer
    permission_classes = (IsAuthenticatedOrReadOnly,)

    def get_object(self, pk):
        try:
            return Location.objects.get(pk=pk)
        except Location.DoesNotExist:
            raise Http404

    def get(self, request, pk):
        serializer = LocationSerializer(self.get_object(pk))
        return Response(serializer.data)

    def put(self, request, pk):
        location = self.get_object(pk)
        serializer = LocationSerializer(location, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def delete(self, request, pk):
        location = self.get_object(pk)
        location.save()
        return Response(status=status.HTTP_204_NO_CONTENT)

我想创建 put apidoc。我必须在里面写什么来修改?我必须再次编写每个参数吗?还是使用 apiSuccess?举个例子就好了。

【问题讨论】:

  • 没什么,PUT 方法是正确的,并且返回了正确的响应。
  • 不,不,我的意思是在 api 文档中,我也想创建用于 put 和 delete 的 apidoc,但我不知道如何真正......我编辑了问题

标签: javascript django django-rest-framework


【解决方案1】:

嗯,@apiSuccess@apiParam 的区别在于:

@apiSuccess:描述成功响应的字段及其数据类型;

@apiParam:描述路径输入参数的字段及其数据类型;

更准确地说,您使用apiSuccess 来描述响应的外观(成功 响应),您使用apiParam 来描述该响应的请求应包含的内容

我发现this blog 提供了一个很好的例子来说明如何使用apidoc。你只需要适应你的 django 应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2013-09-07
    • 1970-01-01
    • 2020-06-19
    • 2013-05-15
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多