SpringBoot整合Swagger,方便后端测试

SpringBoot整合Swagger,方便后端测试,第1张

用Swagger能够在后端写好接口后进行测试,测试过程非常方便。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11572411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存