当前位置:网站首页 > R语言数据分析 > 正文

swagger的访问路径(swagger的url)



swagger(丝袜哥)是当下比较流行的实时接口文档生成工具。前后端分离后,前后端交流比较重要的东西,就是接口文档。离线文档,最大的弊端就是接口程序发生变动的时候,需要回过头来维护上面的内容,确实比较玛法。

实时接口文档可以根据代码来自动生成相应的接口文档。根据代码自动生成的文档,最大的弊端是代码入侵性强(但对比起实时维护接口的麻烦,这是小问题)。Swagger就是其中比较有影响力的实施接口文档。

注:接下来的环境和方法,指的是在Java的SpringBoot 框架下,使用和配置Swagger.

swagger的官网地址为:https://swagger.io/ ,当然是英文版的,可以参考。Swagger分为Swagger2和Swagger3两个常用版本。用起来,主体的区别不是很大,现在以Swagger3为例。

1. 在xml下添加配置

Springboot2.6之前的版本(如果高于这个会有版本冲突,解决方案详见下文)

但是,如果引用Springdoc,注解与spirngfox不同 。引用如下:

注释对照关系如下:

springfox springdoc
@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
到此这篇swagger的访问路径(swagger的url)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • heater翻译成中文(heaters翻译)2025-06-13 08:45:10
  • spring教程百度网盘(spring教程电子书)2025-06-13 08:45:10
  • yarn 常用命令(yarn使用教程)2025-06-13 08:45:10
  • chronyc(chrony服务器配置)2025-06-13 08:45:10
  • store的中文翻译(pretty的中文翻译)2025-06-13 08:45:10
  • 华为模拟器配置rip(华为模拟器配置静态路由命令)2025-06-13 08:45:10
  • nowcoder官网(nowcoder acm)2025-06-13 08:45:10
  • 连接redis命令 info memory(连接redis命令)2025-06-13 08:45:10
  • rbac权限模型图片(权限设计rbac 权限设计)2025-06-13 08:45:10
  • treeplan破解版(treeworld破解版)2025-06-13 08:45:10
  • 全屏图片