Reputation: 1019
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?
Upvotes: 9
Views: 5089
Reputation: 124
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
Upvotes: 0
Reputation: 49
@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);
}
Upvotes: 5
Reputation: 382
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();
Upvotes: 9