Django-rest-framework(七)swagger使用

在咱們接口開發完以後,須要交付給別人對接,在沒有使用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

NOTE

  • 註釋支持markdown語法,能夠方便的調整格式了
  • 改完代碼,順便修改註釋就能夠更新文檔了
  • docs/ 會有權限的判斷,因此訪問全部接口,最好給全部的權限
  • 表單等的字段和view(action)對應的serializers相關
相關文章
相關標籤/搜索