springdoc-openapi icon indicating copy to clipboard operation
springdoc-openapi copied to clipboard

global-header-parameters not show in swagger ui

Open sam2099 opened this issue 2 years ago • 0 comments

HI :

I config global-header-parameters ("now") in components, but it does not show in swagger ui 。

1 spring boot 2.6.11 springdoc 1.6.11

Any ideas on what I'm missing? Thank you.

Here is a summary of the configuration beans:


import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.media.StringSchema;
import io.swagger.v3.oas.models.parameters.Parameter;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {


    @Bean
    public GroupedOpenApi manageApi() {
        return GroupedOpenApi.builder()
                .group("MG")
                .pathsToMatch("/mg/**")
                .build();
    }
    @Bean
    public GroupedOpenApi appApi() {
        return GroupedOpenApi.builder()
                .group("APP")
                .pathsToMatch("/app/**")
                .build();
    }

    /**
     *
     * @return
     */
    @Bean
    public OpenAPI createRestApi() {
        return new OpenAPI()
                .components(
                    new Components()
                        //配合 @Operation(summary = "获取消息",   security = { @SecurityRequirement(name="apiKey") })
                        .addSecuritySchemes("apiKey", new SecurityScheme().type(SecurityScheme.Type.APIKEY).in(SecurityScheme.In.HEADER).name("Authorization"))
                        .addParameters("now", new Parameter().name("now").in("header").description("当前时间戳,单位毫秒").schema(new StringSchema()).required(true))
                )
                .info(apiInfo())
                ;
    }

private Info apiInfo() {
        return new Info()
                .title("test RESTful API")
                .version("1.0")
                ;
    }


    @Operation(security = { @SecurityRequirement(name = "apiKey") })
    @GetMapping(value = "/get")
    public ComServiceResVo get(@RequestParam String idCard) {
      。。。
}

sam2099 avatar Sep 02 '22 10:09 sam2099