超好用的API工具-Swagger

简介: 超好用的API工具-Swagger

今天给大家介绍一个日常开发中用到的工具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.png


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.png


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

其他语言使用

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

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


image.png


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


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

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

相关文章
|
3月前
|
API 数据库 决策智能
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 智能工具调用决策的智能体
本文介绍了一种基于阿里云百炼平台的`qwen-max` API构建的智能体方案,该方案集成了检索增强、图谱增强及智能工具调用决策三大模块,旨在通过结合外部数据源、知识图谱和自动化决策提高智能回答的准确性和丰富度。通过具体代码示例展示了如何实现这些功能,最终形成一个能灵活应对多种查询需求的智能系统。
291 11
|
3月前
|
自然语言处理 NoSQL API
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
309 5
|
4天前
|
测试技术 API 数据安全/隐私保护
API 调试与管理工具选型思考:Apifox vs Apipost,企业究竟该如何抉择?
API开发管理工具选型建议:Apifox:适合个人开发者或小团队;系统需求侧重“调试”阶段;Apipost :适合需要实现 API 的全生命周期管理的各类大中型企业。
28 14
|
2月前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
163 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
5天前
|
测试技术 API 数据安全/隐私保护
API 调试与管理工具选型思考:Apifox 和 Apipost,企业究竟该如何选择?
在企业级 API 调试与管理场景中,选择一款高效的工具至关重要。市面上的调试工具琳琅满目,而 Apifox 和 Apipost 是近几年两款备受开发者关注的 API 工具。二者都宣称为团队协作和接口调试赋能,但对企业来说,究竟谁才是更适合的选择呢?本文将从功能对比、用户体验、企业适配度和性价比等多个维度做一次全面解析,帮助你做出更明智的选择。
32 1
|
4月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
126 4
|
4月前
|
安全 程序员 测试技术
推荐7款程序员常用的API管理工具
本文所有工具都已收录至Awesome Tools,程序员常用高效实用工具、软件资源精选,办公效率提升利器。
286 3
|
4月前
|
监控 安全 API
拥抱开源:下一代API管理工具Kong的崛起
【10月更文挑战第27天】在微服务架构和API经济的推动下,API管理成为软件开发的关键环节。Kong作为开源的API管理平台,凭借其灵活性和强大功能,受到开发者的青睐。本文探讨了Kong的核心特性、使用技巧及其在企业中的应用,帮助读者更好地理解和利用这一工具。
|
6月前
|
缓存 API 网络架构
Nuxt Kit API :路径解析工具
【9月更文挑战第20天】在 Nuxt Kit API 中,路径解析工具如 `resolvePath()`、`joinPaths()` 和 `relativePath()` 帮助开发者高效处理应用路径,确保资源准确加载,并支持动态路由与组件导入。这些工具提升了应用的灵活性和可扩展性,同时需注意路径准确性、跨平台兼容性和性能优化,以提升用户体验。
66 12
|
6月前
|
JSON 安全 API
淘宝 API 接口:解锁商品详情的强大工具
淘宝API接口在电商领域扮演着关键角色,为商家和开发者提供强大的数据支持和服务能力。它不仅帮助商家获取商品信息、管理订单和物流,还支持数据分析、价格调整等功能,助力商家在竞争激烈的市场中取得成功。此外,通过注册认证、搭建开发环境等步骤,开发者可快速上手并利用丰富的技术文档和社区支持进行高效开发。

热门文章

最新文章