问题1:控制台日志输出告警,页面按F12打开swagger控制台"/","/csrf"两个404接口
No mapping found for HTTP request with uri [/xxx/csrf] in Dispatcherservlet with name 'dispatcherservlet'
解决方案:
这个问题在 2.9.x 版本中有,暂时还没有找到好的解决方案,回退到 2.8.0 版本解决
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
问题2:项目启动报错
Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is com.google.common.util.concurrent.ExecutionError:java.lang.NoSuchMethodError
解决方案:
原因是guava这个包冲突,回退到 2.8.0 版本解决
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
或者统一guava版本
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
问题3:访问swagger会报错
java.lang.NumberFormatException: For input string: ""
解决方案:
原因@ApiModelProperty 中无 example 会报 NumberFormatException 的异常,版本bug,回退到 2.8.0 版本解决
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
或者用老版本替换
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.22</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.22</version>
</dependency>
总结:高版本有些没遇到的问题,可以回退低版本