毕业设计解决方案
Spring Doc
-
访问 /swagger-ui.html 重定向的页面,没有 api 显示
-
因为用到 Spring Security,所以很有可能请求被拦截了,需要配置 Spring Security 访问 Spring Doc 资源
-
注意,Spring Doc 配置和以前 Spring Fox 的 Swagger 放行路径不太一样
-
这个导致困惑了好几天,最后根据 Doc 的 Default swagger 页面的 Explore 默认项试出来了
-
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
// 其他配置项可以随便加
// Spring Fox 的 Swagger 需要放行 "/swagger-resources/**", "/swagger-ui/**"
// Spring Doc 的 Swagger 需要放行 "/v2/**"
// 这里放行 v2/v3 依据自己的 Spring Doc 版本决定
.antMatchers("/v3/**").permitAll()
.anyRequest().authenticated();
return http.build();
}
跨域
POST 请求遭到拦截
OPTIONS <some_url> Missing Allow Origin
- POST 请求会发出 OPTIONS 请求预检,后端配置放行 OPTIONS 但 POST 还是跨域
- 可能是跨域设置里面没有允许携带头部信息,而只允许了方法,但是 POST 请求有头部信息,不允许携带即写入或读取不了
Access-Control-Allow-Headers
于是遭到拦截,可以参考一篇 CSDN - 允许携带头部信息即可
configuration.setAllowedHeaders(List.of("*"));