`
wx1568016009
  • 浏览: 23578 次
文章分类
社区版块
存档分类
最新评论

超好用的API工具-Swagger

 
阅读更多

640?wx_fmt=png

今天给大家介绍一个日常开发中用到的工具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这些网络工具进行切换,非常简单方便。

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

640?wx_fmt=jpeg

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

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

640?wx_fmt=jpeg

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

其他语言使用

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

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

640?wx_fmt=jpeg

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

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

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

640?wx_fmt=jpeg

相关文章:

容器化部署实践之Django应用部署(二)

使用Docker容器化部署实践之Django应用部署(一)

Python web开发从入门到放弃

编写高质量Python的6个技巧

Python新手常见的几个问题及工具推荐

640?wx_fmt=jpeg

分享到:
评论

相关推荐

    shlink-api-spec-ui:Swagger UI应用程序,可用于加载shlink的Open API规范

    标题中的"shlink-api-spec-ui"是一个特定项目或工具的名称,它是一个用于展示和交互shlink服务API的Swagger UI应用程序。Swagger UI是一个流行的开源工具,它允许开发者通过友好的Web界面浏览、测试和理解RESTful ...

    给大家推荐一个超级好用的国产接口测试软件,apipost纯国产非常好用

    使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 RAP等根据 Mock API 数据 使用 JMeter 做 API 自动化测试 可以看出每个步骤使用的工具不同,这样就需要维护不同根据之间的数据一致性,从而造成一定的风险和...

    api-docs-template:API 文档站点模板

    描述中的 "从(和)中窃取" 提示我们,这个模板可能结合了多个来源的最佳实践和设计元素,可能包括知名API文档工具如Swagger或Read the Docs的特性。这样的做法可以确保模板包含了业界广泛认可的标准和最佳实践,...

    超级API测试:强大的API测试工具的比较

    这是什么? 该网站附带一个讲座/讲习班(以下 ),该讨论会和... | Stoplight是基于OpenAPI(fka Swagger)的功能强大的API开发工具。 它与OpenAPI紧密集成,可提供强大的功能,例如自动合同验证和代码覆盖率分析。 |

    基于SpringBoot和Swagger2生成离线文档:PDF和Html5格式.zip

    2. **Swagger2**:Swagger是一款流行的API文档工具,它可以用于设计、构建、记录和使用RESTful APIs。Swagger通过注解解析代码,自动生成API文档,使得接口清晰易懂。在SpringBoot项目中,可以集成Swagger2来实现这...

    server-api:SERVER-API 是一个gui的web接口管理工具,基于 swagger-ui 的后台API开源项目,采用SpringMvc+Maven3+Jdk1.7+Tomcat7

    server-api 是一个GUI的WEB接口管理工具,基于 的后台API开源项目,采用SpringMvc+Maven3+Jdk1.7+Tomcat7,该项目的初衷是为了更好的去发展Swagger-ui与SpringMvc的结合,希望能够更加灵活,轻量化的根据后台不同的...

    react-spider-node:swagger爬虫后台

    在TypeScript环境中,我们可以使用开源库如`@types/swagger-schema-official`来帮助解析和操作这些数据。通过遍历Swagger JSON对象,提取`schemas`属性,我们可以将这些数据转换为易于处理的类型定义,进一步用于...

    搭建Springboot整合shiro安全框架+Redis+Swagger+Filter超详细

    3. **Swagger集成**:Swagger是一个用于设计、构建、文档化和使用RESTful Web服务的工具。在Spring Boot项目中,我们可以通过添加Swagger的依赖,创建API的定义,并使用`@ApiOperation`等注解来描述接口的功能。...

    api-products-documentation

    "api-products-documentation"这个项目显然关注的是创建高质量、结构化的API文档,以遵循OpenAPI规范,并结合Swagger工具进行展示和测试。以下是围绕这个主题的详细知识点: 1. **API文档**:API文档是API产品的...

    api-do-an-chuyen-nganh

    - OpenAPI或Swagger:生成详细的API规范文档,便于开发者理解和使用。 - 自动化测试:编写单元测试和集成测试,确保API功能的正确性。 - 持续集成/持续部署(CI/CD):自动化测试和部署流程,保证API的质量和稳定...

    【超好看】比postman,postwoman更好用的接口测试工具Apifox

    7. **强大的导入导出**:Apifox支持从Postman、Swagger、RAML等多种格式导入接口数据,也可以导出为这些格式,方便在不同工具间迁移。 8. **丰富的插件生态**:虽然Apifox相对较新,但它已经开始构建自己的插件系统...

    swagger-jekyll:用于在Jekyll中加载Swagger文件并遍历各个部分以构建文档的工具

    尽管Swagger具有自己的用于共享文档的UI,但有时您只想构建与现有文档混合使用的静态API文件。 这个gem就是为了这个目的,提供了一种机制,可以将一个或多个Swagger文件加载到一个简单的DOM中,并对其进行迭代以在您...

    Swashbuckle.AspNetCore:Swagger工具,用于记录基于ASP.NET Core的API

    :megaphone: 重要提示,如果您要在主要版本之间进行升级!... 一旦有了可以在Swagger中描述自己的API,就可以打开基于Swagger的工具的宝库,其中包括可以针对各种流行平台的客户端生成器。 有关更多详细信息

    Swashbuckle.AspNetCore:用于记录基于ASP.NET Core的API的Swagger工具

    :megaphone: 重要提示,如果您要在主要版本之间进行升级!... 一旦有了可以在Swagger中描述自己的API,就可以打开基于Swagger的工具的宝库,其中包括可以针对各种流行平台的客户端生成器。 有关更多详细信息

    api-server-fms

    8. **文档**:API服务器通常需要公开其接口供开发者使用,因此,自动化文档工具(如Swagger或JSDoc)的使用是常见的,以便快速生成详细的API文档。 在"api-server-fms-main"这个文件或目录中,可能包含了项目的主...

    高性能的 PHP API 接口开发 第1章 课程介绍及基础知识讲解.rar

    - 生成清晰的 API 文档,如 Swagger 或 API Blueprint,方便开发者使用。 9. 高性能优化 - 使用缓存技术(如 Redis、Memcached)减少数据库查询,提高响应速度。 - 路由优化,减少不必要的中间层处理。 - 了解 ...

    快速API-V2

    6. **文档生成**:为了方便开发者使用API,快速API-V2可能集成了如Swagger或Redoc等工具,自动根据API定义生成交互式的API文档。 7. **部署与测试**:快速API-V2还可能提供了自动化测试和持续集成/持续部署(CI/CD...

    template-node-typescript:API模板和NodeJS usando Typescript模板,Express e Swagger

    标题和描述中提到的"template-node-typescript"是一个API开发模板,它结合了Node.js、TypeScript、Express框架以及Swagger。这个模板的目的是为开发者提供一个快速构建规范化的RESTful API的基础结构,使得项目开发...

    investment-support-api-for-express

    9. **文档生成**:为了方便开发者理解和使用API,项目可能利用Swagger或OpenAPI规范来生成API文档,详细描述每个接口的请求参数、响应格式和使用示例。 10. **版本控制**:使用Git进行版本控制,便于团队协作和代码...

    api-style-guide:Haufe API样式指南

    使用工具如Swagger或Apiary可以帮助自动生成和维护文档。 9. **测试**:提供测试环境和测试工具,使开发者能够方便地测试和验证API的正确性。包括提供测试端点、示例请求和预期响应。 10. **性能和可扩展性**:...

Global site tag (gtag.js) - Google Analytics