@RequestMapping(...) public Foo getFoo(@HeaderParam("header") final String header) { ... }
Adding a @HeaderParam
method parameter as above springfox picks it up and when I look at the swagger-ui it has a field for the header. This is exactly what I want. Is there a way I can tell springfox to include this header parameter on a set of methods without having to include the parameters on the method itself? What we really have going on is a servlet filter which uses the header and we'd like an easy to set it through the swagger-ui.
Recently, the popular Springfox project released the long-awaited v3 of their library with support for OpenAPI 3 and Spring 5 (only annotation-based API is supported).
Swagger2 is an open source project used to generate the REST API documents for RESTful web services. It provides a user interface to access our RESTful web services via the web browser. To enable the Swagger2 in Spring Boot application, you need to add the following dependencies in our build configurations file.
Springfox works by examining an application, once, at runtime to infer API semantics based on spring configurations, class structure and various compile time java Annotations.
You could use the globalOperationParameters
in the docket definition. For e.g.
new Docket(...) .globalOperationParameters( Arrays.asList(new ParameterBuilder() .name("header") .description("Description of header") .modelRef(new ModelRef("string")) .parameterType("header") .required(true) .build()))
See #22 in the documentation for more information.
One more explained answer for same :-
@Bean public Docket api() { //Adding Header ParameterBuilder aParameterBuilder = new ParameterBuilder(); aParameterBuilder.name("headerName").modelRef(new ModelRef("string")).parameterType("header").required(true).build(); List<Parameter> aParameters = new ArrayList<Parameter>(); aParameters.add(aParameterBuilder.build()); return new Docket(DocumentationType.SWAGGER_2).select() .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build().apiInfo(apiInfo()).pathMapping("").globalOperationParameters(aParameters); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With