在咱們接口開發完以後,須要交付給別人對接,在沒有使用swagger的時候,咱們須要單獨編寫一份api接口文檔,由postman之類的工具進行請求獲得返回的結果。而有了swagger以後,能夠經過提取接口代碼中的註釋來生成文檔,而且能夠直接在瀏覽器中調用,獲取返回結果。先看下效果
python
pip install django-rest-swagger
setting.py
文件中添加django
INSTALLED_APPS = [ ... 'rest_framework_swagger', ... ]
在settings.py中能夠添加修改swagger相關的配置api
SWAGGER_SETTINGS = { # 這裏能夠用獲取到的token來登陸 'SECURITY_DEFINITIONS': { 'api_key':{ 'type': 'apiKey', 'in':'query', # token位置在url中 'name':'token' # 驗權的字段 } }, 'USE_SESSION_AUTH': False, 'JSON_EDITOR': False, # False,用戶能夠本身編輯格式,不用按照serializers中的數據添加。True,會有多個輸入框,輸入serializer對應的字段的值 }
urls.py
中添加一下代碼瀏覽器
from rest_framework.schemas import get_schema_view from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer schema_view = get_schema_view(title=‘API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer]) urlpatterns = [ ... path('docs/', schema_view, name='docs'), # 線上環境中,最好去掉 ]
運行服務,訪問docs/
即可以發現生成的文檔。bash
docs/
會有權限的判斷,因此訪問全部接口,最好給全部的權限