swagger(丝袜哥)是当下比较流行的实时接口文档生成工具。前后端分离后,前后端交流比较重要的东西,就是接口文档。离线文档,最大的弊端就是接口程序发生变动的时候,需要回过头来维护上面的内容,确实比较玛法。
实时接口文档可以根据代码来自动生成相应的接口文档。根据代码自动生成的文档,最大的弊端是代码入侵性强(但对比起实时维护接口的麻烦,这是小问题)。Swagger就是其中比较有影响力的实施接口文档。
注:接下来的环境和方法,指的是在Java的SpringBoot 框架下,使用和配置Swagger.
swagger的官网地址为:https://swagger.io/ ,当然是英文版的,可以参考。Swagger分为Swagger2和Swagger3两个常用版本。用起来,主体的区别不是很大,现在以Swagger3为例。
1. 在xml下添加配置
Springboot2.6之前的版本(如果高于这个会有版本冲突,解决方案详见下文)
但是,如果引用Springdoc,注解与spirngfox不同 。引用如下:
注释对照关系如下:
@Api
@Tag
@ApiIgnore
@Parameter(hidden = true) or @Operation(hidden = true) or @Hidden
@ApiImplicitParam
@Parameter
ApiImplicitParams
@Parameters
@ApiModel
@Schema
@ApiModelProperty(hidden = true)
@Schema(accessMode = READ_ONLY)
@ApiOperation(value = "foo", notes = "bar")
@Operation(summary = "foo", description = "bar")
@ApiParam
@Parameter
@ApiResponse(code = 404, message = "foo")
@ApiResponse(responseCode = "404", description = "foo")
Swagger 配置类
如果启动成功,Swagger的访问地址:IP地址:端口号/swagger-ui/index.html (http://localhost:8081/swagger-ui/index.html)。
假设已有接口文档
访问成功
按照以上的方式,当我们启动项目是,可能会报错:“Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException”。
异常原因是:因为SpringBoot和Swagger版本不兼容。
最直接的方法,是将SpringBoot版本,修改到2.6.0以下。如果项目中的SpringBoot版本不能修改的话,我们还可以在application.yml配置文件中进行修改
不过,依照我们的习惯,Swagger原生的样式不是特别好看(不是指样式,指的不太好看到接口)。
- 缺乏搜索功能
- 接口类多起来,找接口有如大海捞针。
- 接口边上,没有带着接口注释
- 看Model,需要拖拽到最后,没有很自然的切换。
所有又有一些大神,提供了其他的UI测试页面。这个页面的使用还是比较广泛的。添加引用 (具体引用,根据SpringBoot版本:https://doc.xiaominfo.com/docs/quick-start/start-knife4j-version)
假设对demo1和demo2两个包进行分组。
额外创建分组1和分组2,Swagger的包或路径过滤,请参考:https://www.cnblogs.com/luyj00436/p/
如果我们的项目中有关于跨域的处理,同时还有拦截器,然后还要使用swagger,这种情况大家要注意了,有可能我们的拦截器会将swagger中的页面路径拦截掉导致swagger页面出不来,当我们在拦截器中把swagger的页面排除掉的时候,也有可能会导致跨域配置的失效。
第一步,定义拦截器
第2步:跨域配置
- https://blog.csdn.net/magic_818/article/details/
- https://blog.51cto.com/u_/
- knife4j 版本参考:https://doc.xiaominfo.com/docs/quick-start/start-knife4j-version
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/64216.html