前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Swagger使用总结

Swagger使用总结

作者头像
XING辋
发布于 2019-03-26 03:27:56
发布于 2019-03-26 03:27:56
1.1K0
举报
文章被收录于专栏:M莫的博客M莫的博客

项目中你可能已经使用到了swagger,或许你并没有对它过于留意,比如说springfox、swagger-springmvc、swagger-ui他们之间的关系是什么,springfox原理是什么。

先看一个pull下来就能启动的spring-boot,swagger-ui集成demo

git项目地址 https://github.com/moxingwang/swagger.git

  • 获取代码 1git pull https://github.com/moxingwang/swagger.git
  • 启动 1 2cd swagger mvn spring-boot:run
  • 访问

http://localhost:8080/sw/swagger-ui.html

自此一个非常方便又简单的swagger-ui集成好了,写完业务逻辑代码可以立马公布restful api给前端调用。

具体使用

特别注意事项

虽然说swagger是个好东西,但是使用中切不可以忽略的一个问题–【安全】。dev uat1环境中你可以开放swagger给前端或者测试,千万不要把它开放给了生产,如果你的swagger ui不小心放到了生产,那是一件多么可怕的事情,真可以来个‘一锅端’,切记切记。官网文档有相关的安全配置http://springfox.github.io/springfox/docs/current/#configuring-security-schemes-and-contexts-an-overview。也可以在不同环境配置中添加要给变量来控制,swagger ui是否可用(https://github.com/moxingwang/swagger.git)。

12345678910111213141516

@Value("${swagger.switch}") private boolean swaggerSwitch; @Bean public Docket api() { Docket docket = new Docket(DocumentationType.SWAGGER_2); if (swaggerSwitch) { docket.enable(true); } else { docket.enable(false); } docket.apiInfo(apiInfo()).select().paths(PathSelectors.any()).build(); return docket; }

其他

如若你在spring-boot中使用swagger还嫌麻烦,想要直接一个注解搞定,建议你看SpringForAll/spring-boot-starter-swagger这个项目。

搞明白swagger,springfox是什么

swagger

Swagger 是一款目前世界最流行的API管理工具,是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。文档提供了一个方法,我们可以用指定的 JSON 或者 YAML 摘要来描述你的 API,包括了比如 names、order 等 API 信息。你可以通过一个文本编辑器来编辑 Swagger 文件,或者你也可以从你的代码注释中自动生成。各种工具都可以使用 Swagger 文件来生成互动的 API 文档。你需要具体阅读这里What Is Swagger?来理解。

Swagger拥有众多不同语言和平台的开源实现与工具,他有很多实现方式,非常方便,并且支持语言特别多,详细请查看(一定要看一眼,就知道他有多强大)Tools and Integrations

这里也可以参考Swagger Annotation 详解(建议收藏)这篇文章查看相关几个组件的中文介绍。

springfox

springfox是java对swagger的一个具体实现。springfox的前身是swagger-springmvc,用于springmvc与swagger的整合。它内部会自动解析Spring容器中Controller暴露出的接口,并且也提供了一个界面用于展示或调用这些API。

要分分钟了解springfox的原理,请参考阿里云社区API管理工具Swagger介绍及Springfox原理分析这篇文章。

最后再来看一篇文章Swagger 和 Springfox-Swagger 的关系,加深你对Swagger和Springfox-Swagger的理解。

总结

  • 如果你后台开发,提供restful接口给前端。建议你使用swagger-ui提供restful的接口文档描述。
  • 如果你是接口设计者,建议你使用Swagger Editor设计。
  • 如果你是接口调用方,想快速生成接口调用代码,很简单,你只需要使用Swagger Editor生存client代码就行了,十分方便。

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot之springfox(Swagger) spring-boot-starter-swagger
Springfox的前身是swagger-springmvc,是一个开源的API doc框架,可以将我们的Controller的方法以文档的形式展现,基于Swagger。
王念博客
2019/07/25
1.8K0
Spring Boot集成Swagger简易教程
  Swagger号称是史上最流行的、最好用的API接口文档构建工具,它支持多种语言包括Java在内,本文仅关注如何使用Spring Boot来集成Swagger,更多关于Swagger的介绍可以查看以下几个链接。
happyJared
2018/09/20
9670
Spring Boot集成Swagger简易教程
Swagger 3.0 官方教材出炉,野生的可以扔了!
链接:blog.csdn.net/wangzhihao1994/article/details/108408420
开发者技术前线
2020/11/23
1.9K0
Swagger 3.0 官方教材出炉,野生的可以扔了!
Swagger 3.0配置整合使用教程
SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
小黑同学
2022/05/10
3.9K0
Swagger 3.0配置整合使用教程
8.5 Spring Boot集成Swagger2构建自动化Rest API文档小结
在以往的项目中,关于API接口文档,我们一般使用wiki或者干脆就是“线下文档”。缺点是很明显的:在迭代开发过程中,API会频繁变动,这样文档需要同步修改。繁琐。如果不及时更新,就会出生调用方没有及时了解到API签名的变化,导致较大的沟通很改动成本。
一个会写诗的程序员
2018/08/20
8820
8.5 Spring Boot集成Swagger2构建自动化Rest API文档小结
Swagger 3.0 官方 starter 诞生了,其它的都可以扔了~
对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。
用户1516716
2020/10/23
1.7K0
Swagger 3.0 官方 starter 诞生了,其它的都可以扔了~
使用Swagger生成Spring Boot微服务API文档
springfox是产生API文档,而swagger-ui 则是RestAPI的界面。 创建一个RestController ,定义API:
lyb-geek
2018/09/27
1.4K0
Swagger 详解
Swagger:The Best APIs are Built with Swagger Tools 。Swagger可以定义一个标准的RESTful风格的API,与语言无关,是一个API的规范。
Criss@陈磊
2019/08/02
1.8K0
SpringBoot集成Swagger学习总结
4.4 @ApiImplicitParams 和 @ApiImplicitParam
叫我阿杰好了
2022/11/07
3440
SpringBoot集成Swagger学习总结
ssm整合思路与配置详解_接口整合配置
SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
全栈程序员站长
2022/11/16
8120
ssm整合思路与配置详解_接口整合配置
微服务RESTful接口文档生成神器Swagger初探
在微服务构建的过程中,你也许发现写的那些restful风格的接口需要编写文档。 文档一般包括要输入哪些参数,哪些参数是必填的,哪些是选填的。还有返回结果的格式以及结果示例。 也许你可以通过在git上写markdown文档来做这些事情。 但每个接口对应的文档地址这些对应关系你又需要关心。 通过swagger,这一切你都不需要做了。 在你编写自己的restful接口的时候,只需要添加一些annotation就可为你自动的生成接口文档。你上面的那些内容都为你自动生成。 甚至连简单的功能测试表单都为你做好了。 总
ImportSource
2018/04/03
1.1K0
微服务RESTful接口文档生成神器Swagger初探
Springboot 系列(十六)你真的了解 Swagger 文档吗?
目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用。又或者公司采用前后端分离的开发模式,让前端和后端的工作由完全不同的工程师进行开发完成。不管是微服务还是这种前后端分离开发,维持一份完整的及时更新的 REST API 文档,会极大的提高我们的工作效率。而传统的文档更新方式(如手动编写),很难保证文档的及时性,经常会年久失修,失去应有的意义。因此选择一种新的 API 文档维护方式很有必要,这也是这篇文章要介绍的内容。
未读代码
2019/12/05
2.2K0
一步步完成Maven+SpringMVC+SpringFox+Swagger整合示例
本文给出一个整合Maven+SpringMVC+SpringFOX+Swagger的示例,并且一步步给出完成步骤。
孟君
2019/09/29
9150
一步步完成Maven+SpringMVC+SpringFox+Swagger整合示例
基于SpringCloud的Microservices架构实战案例-在线API管理
前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。 本实战案例中也引入swagger2作为API管理工具,下面罗列下swagger2+SpringBoot使用步骤。
MavenTalker
2019/07/18
8800
基于SpringCloud的Microservices架构实战案例-在线API管理
Spring Boot:整合Swagger文档
spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题。 
朝雨忆轻尘
2019/06/19
9110
Spring Boot:整合Swagger文档
【SpringBoot】swagger 快速上手的两种使用方法
3、是由庞大工具集合支撑的形式化规范。这个集合涵盖了从终端用户接口、底层代码库到商业API管理的方方面面。
瑞新
2020/12/07
1.3K0
【SpringBoot】swagger 快速上手的两种使用方法
【小家Spring】借助Springfox整合SpringBoot和Swagger(API接口神器)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
YourBatman
2019/09/03
1.1K0
【小家Spring】借助Springfox整合SpringBoot和Swagger(API接口神器)
SpirngBoot整合Swagger
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。
框架师
2021/03/05
1.2K0
Swagger 3.0快速入门
SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
大忽悠爱学习
2021/11/15
1.5K0
2018-11-18 swagger2 自动生成API
作者:小莫 链接:https://www.zhihu.com/question/28119576/answer/134580038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Albert陈凯
2018/12/14
6930
推荐阅读
相关推荐
SpringBoot之springfox(Swagger) spring-boot-starter-swagger
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文