小白,纯纯的小白一个。看到视频里的教学视频,使用Swagger我也想用,本着技多不压身的思想就有样学样的去下依赖,视频里csdn里的一些教程有点过时了,里面一直用的是老的版本Swagger-ui 的配置方式。我小白一个,没有操作过也无从下手就跟着学,我也是摸着石头过河有样学样的照抄,在idea项目下找到pom.xml文件。
在dependencies(依赖)里添加
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
你的项目里必须有
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
如果没有这个依赖也是不行的。写了给测试用例
启动项目
点击Application:8080/
怎么报错了。
认真看一下我写的测试类,结构是@RequestMapper("/hello")在类上,在方法尚也有一个@RequestMapper("/wo",method=RequestMethod.get)所有以访问不到,浏览器找不到,必须改成localhost:8080/hello/wo这样就对了,
他解析/hello/为第一个目录,/wo为一个子目录/,这样子就理解了这个访问方式。
接下来我把这个类改成这样。
访问的类是"/",/是根目录,在方法上也有一个"/wo"这样就不用写成这样"//wo",而是只用写成"/wo"就可以访问我们的方法了。应为第一给"/"给省去了。
但是我不喜欢看到这个POM.xml文件里的波浪线。
它说这个依赖有是有漏洞,既然有漏洞我就升级到最新版本3.0.0
然后就
出问题了,无法访问了还出错了我也不知道是什么问题。我又去找解决办法。找到一个网友的另一种依赖。
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.3.0</version> </dependency>
我都有点蒙圈了。
去官网看了一下官网的Swagger-ui只更新到3.0.0可是我更新了不能用,有问题,我不知道是不设置的问题还是依赖的问题,反正我现在一直没有解决。
我尝试用网友提供的方法,
添加依赖更新依赖
更新的流程建议是
按照这个步骤,避免出现一些问题。修改号文件后重新启动Spring boot运行Application:8080,
不然页面不会更新你修改后的内容。
这是测试方法,要去掉@Api的注解。swagger-ui2在这里不支持。
注解带Api的是swagger-ui2的注解,springdoc不是了,还是有区别的。
从我标注的3来看,swagger-ui已经到5.10.3版本了。
打开浏览器了看一下正常访问没有。
正常访问了。我把中间的数字删除了就是为了能很好查看是否正常访问。
如果要访问swagger-ui的界面我们要在项目下找到
application.properties文件在文件里添加一条
springdoc.swagger-ui.path=/swagger-ui.html
这个就是swagger-ui在浏览器里的访问页面。打开看看。
这个就是swagger-ui的管理界面了。下面是我们写的方法。使用的是get方法。
到这里swagger-ui的问题解决了。