Django之restframework接口文檔

前言

任何一個系統(tǒng),都不可缺少接口文檔咙好。django也提供了十分方便的生成接口文檔的工具類

一篡腌、coreapi

1、安裝

pip install coreapi
pip install Pygments
pip install Markdown

2勾效、使用

1嘹悼、DRF V3.10以上需要本步驟

setting.py

REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema'
}
2、添加接口文檔路由层宫,項目/urls.py
from django.contrib import admin
from django.urls import path, include, re_path
from rest_framework.documentation import clude_docs_urls
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('interfaces.urls')),
    path('', include('projects.urls')),
    path('docs/', include_docs_urls(title='平臺接口文檔',
                                    description='接口文檔平臺'))
]
3杨伙、啟動項目,訪問
127.0.0.1:8000/docs

3萌腿、文檔添加注釋

  • 給單個視圖類添加注釋:在視圖類添加注釋即可
  • 給視圖類的多個方法添加注釋

例子:

class ProjectsListCreateViewSet(ListCreateAPIView):
  """
  get:
  返回所有項目信息
  post:
  新建項目
  """
給視圖集中的action添加注釋
例子:
class ProjectsViewSet(viewsets.ModelViewSet):
  """
  create:
  創(chuàng)建項目
  retrieve:
  獲取項目詳情數(shù)據(jù)
  update:
  完整更新項目
  partial_update:
  部分更新項目
  destroy:
  刪除項目
  list:
  獲取項目列表數(shù)據(jù)
  names:
  獲取所有項目名稱
  interfaces:
  獲取指定項目的所有接口數(shù)據(jù)
  """

二缀台、drf-yasg

支持多種形式查看接口文檔,包括swagger

1哮奇、安裝

pip install drf-yasg

2膛腐、使用

1、注冊app鼎俘,setting.py
INSTALLED_APPS = [    
   # 第一個區(qū)域哲身,django自己的app

  # 第二個區(qū)域,第三方的app
    'drf_yasg'
   
  # 第三個區(qū)域贸伐,項目中自定義的app

]
2勘天、添加接口文檔路由,項目/urls.py:
from django.contrib import admin
from django.urls import path, include, re_path
from rest_framework.documentation import clude_docs_urls
from drf_yasg.views import get_schema_view
from drf_yasg import openapi

schema_view = get_schema_view(
    openapi.Info(
        title = 'API接口文檔',
        default_version='v1',
        description='接口文檔平臺',
        # terms_of_service='http://api.xxx.com',
        contact=openapi.Contact(email='xxxx@qq.com'),
        license=openapi.License(name='License')
    ),
    public=True
    # 權(quán)限類
    # permission_classes = (permissions.AllowAny), 
)
urlpatterns = [
    re_path(r'^swagger(?P<format>\.json|\.yaml)$',
            schema_view.without_ui(cache_timeout=0), name=
'schema-json'),
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger'
),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0),
 name='schema-redoc')
]
3捉邢、使用

1脯丝、訪問json格式的swagger

127.0.0.1:8000/swagger.json

2、訪問yaml格式的swagger

127.0.0.1:8000/swagger.yaml

3伏伐、訪問正常格式的swagger

127.0.0.1:8000/swagger/

4宠进、訪問redoc格式(開源項目一般是這種)

127.0.0.1:8000/redoc/

轉(zhuǎn)載于:http://www.reibang.com/p/b679628d5322

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市藐翎,隨后出現(xiàn)的幾起案子材蹬,更是在濱河造成了極大的恐慌实幕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堤器,死亡現(xiàn)場離奇詭異昆庇,居然都是意外死亡,警方通過查閱死者的電腦和手機闸溃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門整吆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辉川,你說我怎么就攤上這事掂为。” “怎么了员串?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵勇哗,是天一觀的道長。 經(jīng)常有香客問我寸齐,道長欲诺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任渺鹦,我火速辦了婚禮扰法,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毅厚。我一直安慰自己塞颁,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布吸耿。 她就那樣靜靜地躺著祠锣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咽安。 梳的紋絲不亂的頭發(fā)上伴网,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音妆棒,去河邊找鬼澡腾。 笑死,一個胖子當著我的面吹牛糕珊,可吹牛的內(nèi)容都是我干的动分。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼红选,長吁一口氣:“原來是場噩夢啊……” “哼澜公!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纠脾,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤玛瘸,失蹤者是張志新(化名)和其女友劉穎蜕青,沒想到半個月后苟蹈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糊渊,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年慧脱,在試婚紗的時候發(fā)現(xiàn)自己被綠了渺绒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡菱鸥,死狀恐怖宗兼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情氮采,我是刑警寧澤殷绍,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站鹊漠,受9級特大地震影響主到,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜躯概,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一登钥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娶靡,春花似錦牧牢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至呻此,卻和暖如春屹电,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背慎玖。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工幸撕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恃泪。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓郑兴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贝乎。 傳聞我的和親對象是個殘疾皇子情连,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348