swagger请求头部没有X-Access-Token #8676

springboot3
JEECG 2025-08-07 18:02:27 +08:00
parent e795e03365
commit 781d61e96e
1 changed files with 29 additions and 25 deletions

View File

@ -60,29 +60,29 @@ public class Swagger3Config implements WebMvcConfigurer {
return method -> method.isAnnotationPresent(Operation.class); return method -> method.isAnnotationPresent(Operation.class);
} }
//TODO 暂时注释掉for【issues/8638】springboot3分支knife4j不能正确显示文档但是swagger-ui和v3/api-docs正常 #8638 @Bean
// @Bean public GlobalOpenApiCustomizer globalOpenApiCustomizer() {
// public GlobalOpenApiCustomizer globalOpenApiCustomizer() { return openApi -> {
// return openApi -> { // 全局添加鉴权参数
// // 全局添加鉴权参数 if (openApi.getPaths() != null) {
// if (openApi.getPaths() != null) { openApi.getPaths().forEach((path, pathItem) -> {
// openApi.getPaths().forEach((path, pathItem) -> { //log.info("path: {}", path);
// //log.debug("path: {}", path); // 检查当前路径是否在排除列表中
// // 检查当前路径是否在排除列表中 boolean isExcluded = excludedPaths.stream().anyMatch(
// boolean isExcluded = excludedPaths.stream().anyMatch( excludedPath -> excludedPath.equals(path) || (excludedPath.endsWith("**") && path.startsWith(excludedPath.substring(0, excludedPath.length() - 2)))
// excludedPath -> excludedPath.equals(path) || (excludedPath.endsWith("**") && path.startsWith(excludedPath.substring(0, excludedPath.length() - 2))) );
// );
// if (!isExcluded) {
// if (!isExcluded) { //log.info(" 接口添加默认X_ACCESS_TOKEN: {}", path);
// // 接口添加鉴权参数 // 接口添加鉴权参数
// pathItem.readOperations().forEach(operation -> pathItem.readOperations().forEach(operation ->
// operation.addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN)) operation.addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN))
// ); );
// } }
// }); });
// } }
// }; };
// } }
@Bean @Bean
public OpenAPI customOpenAPI() { public OpenAPI customOpenAPI() {
@ -96,6 +96,10 @@ public class Swagger3Config implements WebMvcConfigurer {
.license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0.html"))) .license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0.html")))
.addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN)) .addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN))
.components(new Components().addSecuritySchemes(CommonConstant.X_ACCESS_TOKEN, .components(new Components().addSecuritySchemes(CommonConstant.X_ACCESS_TOKEN,
new SecurityScheme().name(CommonConstant.X_ACCESS_TOKEN).type(SecurityScheme.Type.HTTP))); new SecurityScheme()
.name(CommonConstant.X_ACCESS_TOKEN)
.type(SecurityScheme.Type.APIKEY)
.in(SecurityScheme.In.HEADER) // 关键:指定为 header
));
} }
} }