最近在项目里加了个过滤器,拦截请求的token,但是我想放行swagger的页面,我在过滤器里配置了放行规则但是swagger出现Unable to infer base url。
百度了一下有以下几种可能:
- 需要在SpringBoot的启动Application前面加上 @EnableSwagger2注解;
- 可能是由于使用了Spring Security 影响;
- 在排查该问题时,假设你的swagger-ui访问路径是http://localhost:8080/swagger-ui.html,可以先直接访问 http://localhost:8080/v2/api-docs,查看swagger是否正确获取到了JSON格式的数据,且JSON格式数据是否为类似以下格式,如果不对则可能是因为别的返回预处理接口对数据进行了处理,导致swagger无法获取到正确的数据;
因为我在过滤器里,当不符合放行条件时使用输出流向前台发送了json数据,破坏了swagger的响应数据。
所以当放行之后,还要加个return,这样就不会触发下面的数据返回。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16311.html