springboot整合Swagger2 被拦截问题解决
本来是想整合swagger3,弄了3个依赖进来。
就一直注入不进来,推测版本的问题。
springboot公司项目是2.0.6的,就先把swagger3降到2,项目用的是OAuth2。
就用这个就可以了。
有可能出现的原因: 1.Security将访问拦截掉了 2.给拦截器拦截了 3.Swagger返回的结果,被自己定义的拦截器or其他方式给篡改了数据,导致无法正常显示,也就无法得到想要的结果
ResourceConfigure extend ResourceServerConfigureAdapater{
? http.
//忽略swagger访问权限限制
.antMatchers(
"/userlogin",
"/userlogout",
"/userjwt",
"/v2/api-docs",
"/swagger-resources/configuration/ui",
"/swagger-resources",
"/swagger-resources/configuration/security",
"/swagger-ui.html",
"/css/**",
"/js/**",
"/images/**",
"/webjars/**",
"/import/test",
"**/favicon.ico",
"/index").permitAll();
}
其中
“/v2/api-docs”, “/swagger-resources/configuration/ui”, “/swagger-resources”, “/swagger-resources/configuration/security”, “/swagger-ui.html”,
这几项必须都加上才生效。
依赖介绍
pom包介绍。 这是3.0.0 最新版本 2020.6.14
maven仓库使用最多的是2.9.2
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!--Aug 28, 2019 版本--->
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
都是maven用的最多的版本
发现了,一直都是
api(RequestHandlerSelector.basePackage(""))
输错了,可以映射。输对了,映射不了。
先maven install试试。
最最重要的是
pom依赖,找到guava这个包,升级到20.0以上版本!!!!
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
升级了一个 guava版本 到 20.0的版本 。
Last
四个依赖 swagger2的,不是swagger3。最后找到了原因,那么应该就是guava包依赖太低。我现在试试swagger3把。
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!--Aug 28, 2019 版本--->
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
简单配置!swagger3
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<!-- 整合了 springfox-swagger-ui springfox-swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!--Aug 28, 2019 版本-->
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
</dependency>
参考这个 swagger3
https://blog.51cto.com/u_14558366/3107083
Swagger3不需要使用@EnableOpenApi或者@EnableSwagger2开启
直接一个@Configuration 就可以。
? “/swagger-ui/", ? "/swagger-resources/”, ? “/v2/api-docs”, ? “/v3/api-docs”, ? “/webjars/**”);
报错。
老老实实用swagger2把。
因为sprintboot版本低了。
Swaggerconfig配置一下,加两个注解 @EnableSwagger2 @Configuration
|