django-rest-framework – django-rest-swagger如何记录API

我现在使用DRS作为我的简单
django REST API,尽管它并不完美,但到目前为止它一直是一个很棒的库.但有一些问题

我在用

django-rest-swagger==2.0.3

我的api-doc看起来像这样

《django-rest-framework – django-rest-swagger如何记录API》

问题#1:我找不到添加文档的方法,我尝试将YAML放在基于类的视图集操作方法下,而不是工作.直接在ViewSet类下放置docstring,没有运气.然后我看到在最新的DRS版本中,2.0更改提到YAML docstring已被弃用.

那么我该如何提供类似的东西呢
1.端点简短描述
2.参数描述和可能的样本格式

问题#2:如何指定哪个参数是必需的.

例如,我在UserViewSet中有一个动作

    @detail_route(methods=['post'], url_path='set-password')
@AssertInRequestBody(['password'])
def set_password(self, request, pk):
    """
    set user password
    """
    user = User.objects.get(pk=pk)
    json_data = get_json_data(request)
    user.set_password(json_data['password'])
    user.save()
    return DefaultResponse(_('Successfully set password for user %s'
                             % user.email), status.HTTP_200_OK)

我希望它是一个POST操作,请求体中会有一个密码.我无法找到记录这一点的方法.

这适用于其他操作,我想现在DRS只是查看模型定义和序列化器定义来确定哪个参数是强制性的,这对我来说没有多大意义.

我觉得DRS应该提供某种装饰器,以便我们可以轻松地将相应的文档添加到动作方法中.

但也许我错了,如果DRS确实提供了这样的功能,请提供帮助.

谢谢,

最佳答案 可能是这么晚了,但只是为了一些帮助,这个文档解释了django rest swagger 2一步一步的整合:

Django Rest Swagger 2 comprehensive documentation

点赞