Параметр класса Springfox устарел
Sep 20 2020
В Springfox 3.0 springfox.documentation.service.Parameterне рекомендуется.
Есть ли новый способ предоставить параметр и его конструктор?
И как обеспечить его defaultценность?
Ответы
1 AsadKareem Sep 20 2020 at 18:29
Во-первых, используйте RequestParameterдля указания Parameterв вашем компоненте Docket.
для своего строителя использовать 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();
1 Dumindu Oct 26 2020 at 16:53
@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);
}