2016-08-01 85 views
3

我现在正在使用DRS处理我的简单Django REST API,虽然它并不完美,但迄今为止它已经是一个很好的库。但有一些问题django-rest-swagger如何记录API

我使用

django-rest-swagger==2.0.3 

我的API的文档看起来像这样

enter image description here

问题1:我无法找到一个方法来添加一些文档,我尝试将YAML放在我的基于类的视图集操作方法下,而不工作。将docstring直接放在ViewSet类下,没有运气。然后我看到在最新的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确实提供这样的功能。

感谢,

+1

也许我的答案[这里](http://stackoverflow.com/questions/38542690/django-rest-framework-swagger-2-0?answertab=active#:xplains一步Django的休息招摇2步整合tab-top)会帮你 – bitnik

+0

回答[类似问题](http://stackoverflow.com/a/39393093/929164) –

回答

0

因为你正在做一个帖子,加终点简短的描述,这是我会做什么

def set_password(self, request, pk): 
    """ 
    create: 
     set user password 
    """ 
    ... 

或者在你的UserViewSet类:

class UserViewSet(...) 
    """ 
    set_password: 
     set user password 
    """ 

这可能会回答问题1