Search code examples
springswagger-uispringfox

Spring + Springfox + Header Parameters


@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.


Solution

  • You could use the globalOperationParametersin 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.