首页 > 解决方案 > 如何在 springfox 3.0.0 中使用默认值配置全局标头

问题描述

我需要添加一个具有默认值的全局标头,并且标头参数应该隐藏。有没有人可以给我一些建议?

这是我的代码。

@Bean
public Docket createRestApi() {
    // @formatter:off
    return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select()
        //为当前包路径
        .apis(RequestHandlerSelectors.basePackage("com.zmj"))
        .paths(PathSelectors.any())
        .build()
        .globalRequestParameters(Collections.singletonList(platformHeaderParameter()))
        ;
    // @formatter:on
}

private RequestParameter platformHeaderParameter() {
    return new RequestParameterBuilder().name("platform").description("来源").in(ParameterType.HEADER).hidden(true)
        .parameterSpecificationProvider(new HeaderParameterSpecificationProvider()).query(
            builder -> builder.defaultValue("swagger")
                .model(modelSpecificationBuilder -> modelSpecificationBuilder.name("swagger2")
                    .scalarModel(ScalarType.STRING)
                    .facets(modelFacetsBuilder -> modelFacetsBuilder.title("swagger3")))).build();
}

标签: swaggerswagger-uiswagger-2.0springfoxspringfox-boot-starter

解决方案


我认为,有一个错误,如果你改变 DocumentationType,你会看到默认值

文档类型.OAS_30

DocumentationType.SWAGGER_2


推荐阅读