In Springfox 3.0, springfox.documentation.service.Parameter is deprecated.
Is there a newer way of providing the parameter and its builder?
And how to provide its default value?
In Springfox 3.0, springfox.documentation.service.Parameter is deprecated.
Is there a newer way of providing the parameter and its builder?
And how to provide its default value?
Firstly, use the RequestParameter for specify the Parameter in your Docket bean.
for its builder use RequestParameterBuilder class
RequestParameter can be look like this.
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);
}
The swagger ui does not seem to work when you set required=true. If you leave the fields empty and click submit instead of the fields blinking red, the page goes busy and the spinner just spins forever without ever sending anything