api idea 开发rest_超好用的API工具-Swagger

Swagger是一款用于生成和管理RESTful API文档的工具,它能从代码注释自动生成文档,避免前后端文档同步问题。本文介绍了如何在Django中安装和使用django-rest-swagger,展示了其简化接口调试和提高开发效率的优点,并提及了Swagger适用于多种编程语言的广泛适用性。
摘要由CSDN通过智能技术生成
f9291cabcd34c108f89d81ab5794f94a.png

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这些网络工具进行切换,非常简单方便。

下面我来一个官方的预览图数据表定义:

8132d454f18d794dce0915c79a46c58f.png

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_viewschema_view = get_swagger_view()test_urlpatterns = [ url(r'^$', schema_view) # 这儿你自定义文档目录]#这里面我们需要注意这儿在本地或者测试环境使用,线上不能使用,最简单的办法就是我之前提到过的的,通过环境变量来进行判断当前环境从而是否加上这个test_urlpatterns。if current_env not in ['product', 'staging']: url_patterns = url_patterns + test_urlpatterns

最后得到的效果就是类似的效果:

bd70084cca0935f4bad69f17e081bb24.png

image

如果配合Django-filter,会更加方便进行前端筛选测试,几乎是对于XXX管理页面就是举手之间。swagger配合Django-REST-Framework可以说大大提高了后端写增删查改(CRUD)并且对接完成的速度。

其他语言使用

swagger不仅Python使用,其他语言框架都能进行使用swagger。推荐大家去使用,不管是否是Python程序员。

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

0d8408bd922f2abb3e355bc0b6bbad1d.png

image

不清楚还有多少公司,每次API更新了,文档没有更新,造成对接起来彼此不一致的情况,反正听到过身边的朋友反馈过。

如果你发现自己公司有这种情况,赶紧swagger一把梭。

上面就是我对swagger-ui的介绍,实际swagger tools 还有其他两个功能强大的工具 swagger-editor,swagger-codegen。大家感兴趣可以自己去了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值