2016-08-01 88 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