超好用的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
相关文章
相关标签/搜索