首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >授权头不显示在CURL springdoc-openapi-ui中

授权头不显示在CURL springdoc-openapi-ui中
EN

Stack Overflow用户
提问于 2020-06-05 04:23:57
回答 1查看 4K关注 0票数 1

我正在使用springdoc-openapi-ui。我已经配置了名为Authorization的全局标头。当我执行API时,Authorization并没有显示在请求的卷曲中。除了Authorization之外,我的其他参数都显示在卷曲中。

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

我在https://swagger.io/docs/specification/describing-parameters/#header-parameters Note: Header parameters named Accept, Content-Type and Authorization are not allowed.上找到了同样的东西

但是我只要求使用Authorization作为头文件。我们还能做到这一点吗?

下面添加了我的SwaggerConfiguration

代码语言:javascript
复制
@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());
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-10 10:29:24

我也曾在这个问题上寻找过答案。

我们不能将授权设置为带有springdoc open api的头。如果我们想要使用,那么我们需要启用swagger ui上的授权按钮。

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

代码,以启用在无毛位置的挥杆上的授权按钮

代码语言:javascript
复制
@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")));
    }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62208100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档