Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。
Swagger 官网地址:https://swagger.io/
从上述 Swagger 定义我们不难看出 Swagger 有以下 3 个重要的作用:
swagger2是:http://localhost:8080/swagger-ui.html
swagger3是:http://localhost:8080/swagger-ui/index.html
注意观察:swagger2的注解基本都是以API开头的,以此来判断注解是否为swagger2注解。同样,swagger3也有类似特性。
swagger2必须要引入springfox-swagger2、springfox-swagger-ui这两个依赖
lombok插件要引入lombok依赖
这样swagger就配置完成了,接下来是使用方式
在entity实体类上使用
在controller实体类上使用
访问地址
http://localhost:8080/swagger-ui.html
图示
输入内容后,点击try it out ,即可得到结果
swagger2使用起来非常方便,引入依赖,创建一个配置类就能直接用了,用postman还得手动创建每个访问链接,非常麻烦,swagger2算是挺方便了。
它与swagger2的差异在于
配置文件上添加的注解是@EnableOpenApi而swagger2是@EnableSwagger2 访问地址http://localhost:8080/swagger-ui/index.html 而swagger2是http://localhost:8080/swagger-ui.html pom引入的文件只有一个 springfox-boot-starter 而swagger2有两个springfox-swagger2 springfox-swagger-ui
entity实体类
和swagger2对比没有变化
controller
appication.properties
访问网址:http://localhost:8080/swagger-ui/index.html
可以看到,ui变大变好看了点
swagger 文档在日常开发中,用得比较多,往往我们都是手动配置,swagger3.0之后,直接就上了一个swagger-starter,用起来更方便了。swagger3.0发生了很多变化,比如包名、注解、访问路径等都有所变化。具体自己去体会了,我就是不多说了,直接开干。
swagger3.0项目地址: https://github.com/springfox/springfox
1.一个springboot项目
2.swagger3.0依赖
1.在springboot项目pom中添加入swagger3.0依赖
2.在启动类上加新版注解@EnableOpenApi
3.添加一个接口测试controller:
4.直接启动搞定: 注意 访问路径 http://localhost:8080/swagger-ui/index.html ,和2不一样了。
再一运行:
ok了,就搞定了。
当使用https后界面上的services地址不会随着你的项目域名变https时自动变https,如下图:
当然,这个bug官方会在3.0.1版本中修复, https://github.com/springfox/springfox/issues/3468 ,目前也是可以解决这个问题的,自定义swagger拦截器,借鉴了 https://github.com/springfox/springfox/issues/3531 ,
此时再重新启动项目:
就可以正常了,当然这只是我自己处理的一个思路,具体实现可以各抒己见。
最后的最后:demo地址: https://gitee.com/zzj1992/swagger3-demo.git
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)