今天给大家介绍一个日常开发中用到的工具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这些网络工具进行切换,非常简单方便。
下面我来一个官方的预览图数据表定义:
Django swagger安装使用
接下来我们就来就来讲下安装使用过程,由于我们主要是Python为主,大家介绍swagger-ui,这里面我们简单Django为主介绍下使用:
pip install django-rest-swagger
在 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
最后得到的效果就是类似的效果:
如果配合Django-filter,会更加方便进行前端筛选测试,几乎是对于XXX管理页面就是举手之间。swagger配合Django-REST-Framework可以说大大提高了后端写增删查改(CRUD)并且对接完成的速度。
其他语言使用
swagger不仅Python使用,其他语言框架都能进行使用swagger。推荐大家去使用,不管是否是Python程序员。
其他语言工具集成的地址:https://swagger.io/tools/open-source/open-source-integrations/
不清楚还有多少公司,每次API更新了,文档没有更新,造成对接起来彼此不一致的情况,反正听到过身边的朋友反馈过。
如果你发现自己公司有这种情况,赶紧swagger一把梭。
上面就是我对swagger-ui的介绍,实际swagger tools 还有其他两个功能强大的工具 swagger-editor,swagger-codegen。大家感兴趣可以自己去了解。
相关文章:
容器化部署实践之Django应用部署(二)
使用Docker容器化部署实践之Django应用部署(一)
Python web开发从入门到放弃
编写高质量Python的6个技巧
Python新手常见的几个问题及工具推荐
分享到:
相关推荐
标题中的"shlink-api-spec-ui"是一个特定项目或工具的名称,它是一个用于展示和交互shlink服务API的Swagger UI应用程序。Swagger UI是一个流行的开源工具,它允许开发者通过友好的Web界面浏览、测试和理解RESTful ...
使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 RAP等根据 Mock API 数据 使用 JMeter 做 API 自动化测试 可以看出每个步骤使用的工具不同,这样就需要维护不同根据之间的数据一致性,从而造成一定的风险和...
描述中的 "从(和)中窃取" 提示我们,这个模板可能结合了多个来源的最佳实践和设计元素,可能包括知名API文档工具如Swagger或Read the Docs的特性。这样的做法可以确保模板包含了业界广泛认可的标准和最佳实践,...
这是什么? 该网站附带一个讲座/讲习班(以下 ),该讨论会和... | Stoplight是基于OpenAPI(fka Swagger)的功能强大的API开发工具。 它与OpenAPI紧密集成,可提供强大的功能,例如自动合同验证和代码覆盖率分析。 |
2. **Swagger2**:Swagger是一款流行的API文档工具,它可以用于设计、构建、记录和使用RESTful APIs。Swagger通过注解解析代码,自动生成API文档,使得接口清晰易懂。在SpringBoot项目中,可以集成Swagger2来实现这...
server-api 是一个GUI的WEB接口管理工具,基于 的后台API开源项目,采用SpringMvc+Maven3+Jdk1.7+Tomcat7,该项目的初衷是为了更好的去发展Swagger-ui与SpringMvc的结合,希望能够更加灵活,轻量化的根据后台不同的...
在TypeScript环境中,我们可以使用开源库如`@types/swagger-schema-official`来帮助解析和操作这些数据。通过遍历Swagger JSON对象,提取`schemas`属性,我们可以将这些数据转换为易于处理的类型定义,进一步用于...
3. **Swagger集成**:Swagger是一个用于设计、构建、文档化和使用RESTful Web服务的工具。在Spring Boot项目中,我们可以通过添加Swagger的依赖,创建API的定义,并使用`@ApiOperation`等注解来描述接口的功能。...
"api-products-documentation"这个项目显然关注的是创建高质量、结构化的API文档,以遵循OpenAPI规范,并结合Swagger工具进行展示和测试。以下是围绕这个主题的详细知识点: 1. **API文档**:API文档是API产品的...
- OpenAPI或Swagger:生成详细的API规范文档,便于开发者理解和使用。 - 自动化测试:编写单元测试和集成测试,确保API功能的正确性。 - 持续集成/持续部署(CI/CD):自动化测试和部署流程,保证API的质量和稳定...
7. **强大的导入导出**:Apifox支持从Postman、Swagger、RAML等多种格式导入接口数据,也可以导出为这些格式,方便在不同工具间迁移。 8. **丰富的插件生态**:虽然Apifox相对较新,但它已经开始构建自己的插件系统...
尽管Swagger具有自己的用于共享文档的UI,但有时您只想构建与现有文档混合使用的静态API文件。 这个gem就是为了这个目的,提供了一种机制,可以将一个或多个Swagger文件加载到一个简单的DOM中,并对其进行迭代以在您...
:megaphone: 重要提示,如果您要在主要版本之间进行升级!... 一旦有了可以在Swagger中描述自己的API,就可以打开基于Swagger的工具的宝库,其中包括可以针对各种流行平台的客户端生成器。 有关更多详细信息
:megaphone: 重要提示,如果您要在主要版本之间进行升级!... 一旦有了可以在Swagger中描述自己的API,就可以打开基于Swagger的工具的宝库,其中包括可以针对各种流行平台的客户端生成器。 有关更多详细信息
8. **文档**:API服务器通常需要公开其接口供开发者使用,因此,自动化文档工具(如Swagger或JSDoc)的使用是常见的,以便快速生成详细的API文档。 在"api-server-fms-main"这个文件或目录中,可能包含了项目的主...
- 生成清晰的 API 文档,如 Swagger 或 API Blueprint,方便开发者使用。 9. 高性能优化 - 使用缓存技术(如 Redis、Memcached)减少数据库查询,提高响应速度。 - 路由优化,减少不必要的中间层处理。 - 了解 ...
6. **文档生成**:为了方便开发者使用API,快速API-V2可能集成了如Swagger或Redoc等工具,自动根据API定义生成交互式的API文档。 7. **部署与测试**:快速API-V2还可能提供了自动化测试和持续集成/持续部署(CI/CD...
标题和描述中提到的"template-node-typescript"是一个API开发模板,它结合了Node.js、TypeScript、Express框架以及Swagger。这个模板的目的是为开发者提供一个快速构建规范化的RESTful API的基础结构,使得项目开发...
9. **文档生成**:为了方便开发者理解和使用API,项目可能利用Swagger或OpenAPI规范来生成API文档,详细描述每个接口的请求参数、响应格式和使用示例。 10. **版本控制**:使用Git进行版本控制,便于团队协作和代码...
使用工具如Swagger或Apiary可以帮助自动生成和维护文档。 9. **测试**:提供测试环境和测试工具,使开发者能够方便地测试和验证API的正确性。包括提供测试端点、示例请求和预期响应。 10. **性能和可扩展性**:...