gpt4 book ai didi

java - 授权 header 未显示在 CURL springdoc-openapi-ui 中

转载 作者:行者123 更新时间:2023-12-01 16:23:25 24 4
gpt4 key购买 nike

我正在使用springdoc-openapi-ui。我已经配置了名为 Authorization 的全局 header 。当我执行 API 时,请求的 CURL 中未显示授权。除了 Authorization 之外,我的其他参数都显示在 CURL 中。

之前,我使用的是 springfox-swagger-ui,当时它显示在 CURL 部分。

我搜索了相同的内容并找到了关于 https://swagger.io/docs/specification/describing-parameters/#header-parameters 的注释注意:不允许名为 Accept、Content-Type 和 Authorization 的 header 参数。

但我要求仅使用Authorization作为 header 。我们有什么办法可以实现这一目标吗?

下面添加了我的 SwaggerConfiguration

@Configuration
public class SwaggerConfiguration {

@Value("${title:title}")
private String title;
@Value("${description:description.}")
private String description;
@Value("${version:0.0.1}")
private String version;

@Value("${schemeId}")
String schemeIdentifier;

@Bean
public OperationCustomizer customGlobalHeaders() {

return (Operation operation, HandlerMethod handlerMethod) -> {

Parameter authorization = new Parameter().in(ParameterIn.HEADER.toString()).name("Authorization")
.description("Authorization details JWT token")
.schema(new StringSchema()).required(true);

Parameter applicationId = new Parameter().in(ParameterIn.HEADER.toString()).schema(new StringSchema())
.name("Application-Id").description("Originating application or client using the service")
.required(false);

operation.addParametersItem(authorization);
operation.addParametersItem(applicationId);

return operation;
};
}

@Bean
public GroupedOpenApi adminApi() {

String[] packagesToscan = { "abc.controller" };

return GroupedOpenApi.builder().setGroup("Client").packagesToScan(packagesToscan).build();
}

@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI().info(new Info().title(title).version(version).description(description))
.components(new Components());
}
}

最佳答案

我已经搜索了相同的答案。
我们无法使用 springdoc open api 将授权设置为 header 。如果我们想使用,那么我们需要在 swagger ui 上启用授权按钮。

enter image description here

然后它将显示在 CURL 部分,如下所示。

enter image description here

在全局位置启用 swagger 上的授权按钮的代码

@Configuration
public class SwaggerConfiguration {

@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI().info(new
Info().title("title").version("version").description("description"))
.addSecurityItem(new SecurityRequirement().addList("my security"))
.components(new Components().addSecuritySchemes("my security",
new SecurityScheme().name("my
security").type(SecurityScheme.Type.HTTP).scheme("bearer")));
}
}

关于java - 授权 header 未显示在 CURL springdoc-openapi-ui 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62208100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com