当前位置:首页 > 服务端 > Swagger实践和总结

Swagger实践和总结

2022年08月05日 07:10:32服务端6

Swagger学习和实践

 

最近安装并使用了一下Swagger-uiSwagger-editorSwagger-codegen,感觉还不错。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是对REST API定义一个标准的和语言无关的接口,可让人和计算机无需访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。

Swagger是一组开源项目,其中主要要项目如下:

  • Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。
  • Swagger-core: 用于Java/Scala的的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF...)、Servlets和Play框架进行集成。
  • Swagger-js: 用于JavaScript的Swagger实现。
  • Swagger-node-express: Swagger模块,用于node.js的Express web应用框架
  • Swagger-ui:一个无依赖的HTML、JS和CSS集合,可以为Swagger兼容API动态生成优雅文档。
    Swagger实践和总结 _ JavaClub全栈架构师技术笔记
  • Swagger-codegen:一个模板驱动引擎,通过分析用户Swagger资源声明以各种语言生成客户端代码。
    C:\tools\swagger-codegen>mvn package
    C:\tools\swagger-codegen\modules\swagger-codegen-cli>mvn package
    C:\tools\swagger-codegen\modules\swagger-generator>mvn package
    C:\tools\swagger-codegen>java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i http://petstore.swagger.io/v2/swagger.json -l spring-mvc -o yqu/petstore/spring-mvc
    C:\tools\swagger-codegen\yqu\petstore\spring-mvc>mvn package
    上述操作通过底层使用SpringFox库,会创建带有Swagger注释的Spring MVC框架代码,包括Controller和DTO类。这样将Swagger-ui部署到Web应用内,就可以通过http://server:8002/v2/sdoc.jsp在线访问API文档了。
  • Swagger-editor:可让使用者在浏览器里以YAML格式编辑Swagger API规范并实时预览文档。可以生成有效的Swagger JSON描述,并用于所有Swagger工具(代码生成、文档等等)中。
    Swagger实践和总结 _ JavaClub全栈架构师技术笔记

 

除了Swagger项目自身支持的Java、Scala和JavaScript语言,Swagger社区中还提供了很多支持其他语言的第三方工具,覆盖了Clojure、ColdFusion / CFML、Eiffel、Go、Groovy、.Net、Perl、PHP、Python、Ruby等各种编程语言。

 

Swagger总结


Swagger这类API文档工具可以满足下列需求:

  • 支持API自动生成同步的在线文档
    • 这些文档可用于项目内部API审核
    • 方便测试人员了解API
    • 这些文档可作为客户产品文档的一部分进行发布
  • 支持API规范生成代码,生成的客户端和服务器端骨架代码可以加速开发和测试速度


跟下列其他API文档工具相比,Swagger各有优缺点,但它功能最多、也是最流行的。

作者:从未被超越
来源链接:https://www.cnblogs.com/zxtceq/p/5530396.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/18068.html

标签: Swagger
分享给朋友:

“Swagger实践和总结” 的相关文章

SpringBoot整合Swagger3生成接口文档

SpringBoot整合Swagger3生成接口文档

  前后端分离的项目,接口文档的存在十分重要。与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的开发环境下,手动编写文档的效率实在太低。与新版的swagger3相比swagger2配置更少,使用更加方便。 一、pom文件中引入Swagger3依赖...

特别好用的swagger ui 封装

特别好用的swagger ui 封装

Swagger简单介绍 Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 官网:http://swagger.io 官方描述:The World’s Most Popular Framework for APIs. Swagger...

替换swagger-ui,选择款神器—knife4j

替换swagger-ui,选择款神器—knife4j

    一、介绍 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小...

浅析如何在Nancy中使用Swagger生成API文档

浅析如何在Nancy中使用Swagger生成API文档

介绍了如何在Nancy中使用Swagger生成一份API文档,并且处理在安全验证方面遇到的问题。 前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document。但是还有许许多多的不足。 为了能稍微完善一下这个Docume...

Swagger实现API文档功能

Swagger实现API文档功能

介绍: wagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案。简单的说就是一款让你更好的书写API文档的框架。 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的...

.net core在Ocelot网关中统一配置Swagger

.net core在Ocelot网关中统一配置Swagger

最近在做微服务的时候,由于我们是采用前后端分离来开发的,提供给前端的直接是Swagger,如果Swagger分布在各个API中,前端查看Swagger的时候非常不便,因此,我们试着将Swagger集中放到网关中。 这里我用两个API项目(一个BasicDataApi,一个User...

Visual Studio 2017 and Swagger: Building and Documenting Web APIs

Visual Studio 2017 and Swagger: Building and Documenting Web APIs

Swagger是一种与技术无关的标准,允许发现REST API,为任何软件提供了一种识别REST API功能的方法。 这比看起来更重要:这是一个改变游戏技术的方式,就像Web服务描述语言一样WSDL(Web Service Description Language)一样。...

Swagger-UI展示接口

Swagger-UI展示接口

简单介绍API的管理工具Swagger的UI模块。 简介:swagger ui就是一个能整合到项目中让api的注释能够生成到一个网页上。能简单测试和给前端看。 第一步:添加引用 打开NuGet程序包管理器,搜索Swagger。安装搜索出来的这个Swashbuckle。...

Swagger与JWT

Swagger与JWT

Swagger与JWT 创建项目后首先我们要引用这几个包        打开appsettings.json在里面添加 "LemonToken": { "secret":"12345678...

Swagger使用

Swagger使用

原文:https://www.cnblogs.com/liruiloveparents/p/9378327.html     Swagger学习及生成HTML文档 Swagger 1、集成springboot 第一步:pom...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。