Django restful framework中自動生成API文檔
?
一、Swagger概述
1.引言
當接口開發完成,緊接著需要編寫接口文檔。傳統的接口文檔使用Word編寫,or一些接口文檔管理平臺進行編寫,但此類接口文檔維護更新比較麻煩,每次接口有變更,需要手動修改接口文檔。為了改善這種情況,推薦使用Swagger來管理接口文檔,實現接口文檔的自動更新。也推薦淘寶后端寫的RAP2在線接口文檔。
2.Swagger簡介
Swagger:是一個規范和完整的框架,用于生成、描述、調用和可視化RESTful風格的Web服務。總體目標是使客戶端和文件系統源代碼作為服務器以同樣的速度來更新。當接口有變動時,對應的接口文檔也會自動更新。
Swagger優勢:
1)Swagger可生成一個具有互動性的API控制臺,開發者可快速學習和嘗試API
2)Swagger可生成客戶端SDK代碼,用于不同平臺上(Java、Python...)的實現
3)Swagger文件可在許多不同的平臺上從代碼注釋中自動生成
4)Swagger有一個強大的社區,里面有許多強悍的貢獻者
?
二、Swagger安裝和配置
參考官網:https://github.com/marcgibbons/django-rest-swagger
自動生成api文檔(不管是函數視圖還是類視圖都能顯示)
1.安裝rest_framework_swagger庫
pip install django-rest-swagger
?
?
2.在項目下的 urls.py 中加入如下:
from rest_framework_swagger.views import get_swagger_viewschema_view = get_swagger_view(title='API文檔')
urlpatterns += [path(r'docs/', schema_view),
]
?
?
3.在創建的django項目下的settings中加入如下:
INSTALLED_APPS = ['rest_framework_swagger',]REST_FRAMEWORK = {'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema'
}
?
?
4、生成的api文檔界面如下:
可以通過定義注釋格式來設置接口備注信息
?
?
5、DRF訪問接口自帶的界面如下:
?
?
更多分享以及Python之基礎知識大全關注公眾號【劉旺學長】