How can I custom header with springdoc openapi

82 Views Asked by At

When I hit the execute button in swagger ui, the request header always has the accept-encoding header with value "gzip, deflate, br". I've added a custom header with name "accept-encoding" but it did not work. How can I custom this header value?

Dependency:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
    <version>2.0.4</version>
</dependency>

Config:

@Bean
  public OpenAPI customOpenAPI() {
    return new OpenAPI()
        .components(
            new Components()
                .addParameters(
                    "accept-encoding",
                    new Parameter()
                        .in("header")
                        .schema(new StringSchema())
                        .name("accept-encoding")
                        .required(true))
                .addSecuritySchemes(
                    "api-token",
                    new SecurityScheme()
                        .type(SecurityScheme.Type.HTTP)
                        .scheme("bearer")
                        .in(SecurityScheme.In.HEADER)
                        .bearerFormat("JWT")))
        .addSecurityItem(new SecurityRequirement().addList("api-token"));
  }

  @Bean
  public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() {
    return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream())
            .forEach(operation -> operation.addParametersItem(new Parameter().$ref("#/components/parameters/accept-encoding")));
  }

swagger-ui

actual request header

0

There are 0 best solutions below