【发布时间】:2021-01-06 15:00:41
【问题描述】:
在 Springfox 3.0 中,springfox.documentation.service.Parameter 已弃用。
是否有更新的方法来提供参数及其构建器?
以及如何提供其default 值?
【问题讨论】:
在 Springfox 3.0 中,springfox.documentation.service.Parameter 已弃用。
是否有更新的方法来提供参数及其构建器?
以及如何提供其default 值?
【问题讨论】:
首先,使用RequestParameter 在您的Docket bean 中指定Parameter。
为其构建器使用RequestParameterBuilder 类
RequestParameter 可以是这样的。
private RequestParameter authorizationParameter() { RequestParameterBuilder tokenBuilder = new RequestParameterBuilder(); tokenBuilder .name("Authorization") .description("access_token") .required(false) .in("header") .accepts(Collections.singleton(MediaType.APPLICATION_JSON)) .build(); return tokenBuilder.build();
【讨论】:
@Bean
public Docket api() {
// Adding Header
RequestParameterBuilder aParameterBuilder = new RequestParameterBuilder();
aParameterBuilder.name("Cache-Control")
.query(q -> q.defaultValue("no-cache, no-store")
.model(modelSpecificationBuilder -> modelSpecificationBuilder.scalarModel(ScalarType.STRING)))
.in(ParameterType.HEADER).required(true).build();
List<RequestParameter> aParameters = new ArrayList<>();
aParameters.add(aParameterBuilder.build());
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(PathSelectors.regex("(?!/error.*).*")).build().apiInfo(metadata())
.globalRequestParameters(aParameters);
}
【讨论】: