在使用SpringBoot中配置Swagger3的时候,出现
Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. The base url is the root of where all the swagger resources are served. For e.g. if the api is available at http://example.org/api/v2/api-docs then the base url is http://example.org/api/. Please enter the location manually:
通过排查发现,出现这个问题原因是项目中通过Spring的RestControllerAdvice对接口返回的数据做了全局统一的拦截处理,添加了code、data等信息,当打开swagger地址http://localhost:8080/swagger-ui/index.html的时候,swagger接口中返回的的数据也被做了处理,导致swagger接口返回的数据格式和期望的不一致,所以报错。
可以通过在RestControllerAdvice的注解上制接口的扫描包来修复。
@RestControllerAdvice(basePackages =

在SpringBoot项目中配置Swagger3时遇到错误提示,由于全局统一的接口响应处理导致Swagger接口返回数据格式异常。修复方法是在RestControllerAdvice注解上指定接口扫描包,避免Swagger接口被拦截处理。正常返回数据应符合OpenAPI3.0.3规范。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



