超好用的API工具-Swagger

image

今天給你們介紹一個平常開發中用到的工具Swagger,swagger是一個RESTful文檔生成工具。前端

官方描述是 「The Best APIs are Built with Swagger Tools」 非常霸氣。程序員

Swagger能夠用在多個語言框架中,好比Python下面flask框架有「flask-restful-swagger」,Django框架「django-rest-swagger」,甚至tornado也有了只是使用量比起前二者少多了。web

因爲swagger功能強大,集成工具很是之多,今天咱們主要了解swagger-ui。django

爲何使用swagger-ui

程序界裏面常常傳這樣一句話,程序員最討厭的兩件事:flask

1.寫註釋寫文檔 2.別人不寫註釋、不寫文檔。後端

爲何這樣說?由於管理文檔註釋比較麻煩,常常會出現API更新了,文檔仍是老的,各類同步不一致的狀況。形成不少問題,從而耽擱彼此的時間,因此你們不太喜歡進行寫文檔註釋。bash

而之因此使用swagger主要是swagger它能夠下降咱們先後端開發文檔同步問題,swagger能夠從咱們代碼註釋裏面自動生成API文檔,以此方便前端對接使用。restful

其次它能夠展現咱們全部接口列表狀況,很是方便咱們先後端進行接口調試。前端同窗對接接口直接在頁面就能操做了,徹底不須要在postman,PAW這些網絡工具進行切換,很是簡單方便。網絡

下面我來一個官方的預覽圖數據表定義:框架

image

Django swagger安裝使用

接下來咱們就來就來說下安裝使用過程,因爲咱們主要是Python爲主,你們介紹swagger-ui,這裏面咱們簡單Django爲主介紹下使用:

pip install django-rest-swagger 要求: Django 1.8+ Django REST framework 3.5.1+ Python 2.7, 3.5, 3.6

在 INSTALLED_APPS

   INSTALLED_APPS = (
        ...        'rest_framework_swagger',
    )
複製代碼

添加文檔地址:

from django.conf.urls import urlfrom rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='Pastebin API')

test_urlpatterns = [
    url(r'^$', schema_view)  # 這兒你自定義文檔目錄]#這裏面咱們須要注意這兒在本地或者測試環境使用,線上不能使用,最簡單的辦法就是我以前提到過的的,經過環境變量來進行判斷當前環境從而是否加上這個test_urlpatterns。if current_env not in ['product', 'staging']:
    url_patterns = url_patterns + test_urlpatterns
複製代碼

最後獲得的效果就是相似的效果:

image

若是配合Django-filter,會更加方便進行前端篩選測試,幾乎是對於XXX管理頁面就是舉手之間。swagger配合Django-REST-Framework能夠說大大提升了後端寫增刪查改(CRUD)而且對接完成的速度。

其餘語言使用

swagger不只Python使用,其餘語言框架都能進行使用swagger。推薦你們去使用,不論是否是Python程序員。

其餘語言工具集成的地址:https://swagger.io/tools/open-source/open-source-integrations/

image

不清楚還有多少公司,每次API更新了,文檔沒有更新,形成對接起來彼此不一致的狀況,反正聽到過身邊的朋友反饋過。

若是你發現本身公司有這種狀況,趕忙swagger一把梭。

上面就是我對swagger-ui的介紹,實際swagger tools 還有其餘兩個功能強大的工具 swagger-editor,swagger-codegen。你們感興趣能夠本身去了解。

image

相關文章:

容器化部署實踐之Django應用部署(二)

使用Docker容器化部署實踐之Django應用部署(一)

Python web開發從入門到放棄

編寫高質量Python的6個技巧

Python新手常見的幾個問題及工具推薦

image
相關文章
相關標籤/搜索