image
今天给大家介绍一个日常开发中用到的工具Swagger,swagger是一个RESTful文档生成工具。
官方描述是 「The Best APIs are Built with Swagger Tools」 很是霸气。
Swagger可以用在多个语言框架中,比如Python下面flask框架有「flask-restful-swagger」,Django框架「django-rest-swagger」,甚至tornado也有了只是使用量比起前两者少多了。
由于swagger功能强大,集成工具非常之多,今天我们主要了解swagger-ui。
为什么使用swagger-ui
程序界里面经常传这样一句话,程序员最讨厌的两件事:
1.写注释写文档 2.别人不写注释、不写文档。
为什么这样说?因为管理文档注释比较麻烦,经常会出现API更新了,文档还是老的,各种同步不一致的情况。造成很多问题,从而耽搁彼此的时间,所以大家不太喜欢进行写文档注释。
而之所以使用swagger主要是swagger它可以降低我们前后端开发文档同步问题,swagger可以从我们代码注释里面自动生成API文档,以此方便前端对接使用。
其次它可以展示我们所有接口列表情况,非常方便我们前后端进行接口调试。前端同学对接接口直接在页面就能操作了,完全不需要在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'^