我现在正在将DRS用于我的简单django REST API,尽管它并不完美,但到目前为止它一直是一个很棒的库。但是有一些问题
我正在使用
django-rest-swagger==2.0.3
我的api-doc看起来像这样
问题#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确实提供了这些功能,请提供帮助。
谢谢,
答案 0 :(得分:1)
可能是这么晚了,但只是为了一些帮助,这个文档解释了django rest swagger 2一步一步的整合: Django Rest Swagger 2 comprehensive documentation
答案 1 :(得分:0)
由于您正在发帖,要添加终点简短说明,这就是我要做的事情
def set_password(self, request, pk):
"""
create:
set user password
"""
...
或者在UserViewSet类中:
class UserViewSet(...)
"""
set_password:
set user password
"""
这可能会回答问题1