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

Swagger使用总结

作者头像
XING辋
发布2019-03-26 11:27:56
1.1K0
发布2019-03-26 11:27:56
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先看一个pull下来就能启动的spring-boot,swagger-ui集成demo
  • 具体使用
  • 搞明白swagger,springfox是什么
  • 总结
  • 参考
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档