首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring + Springfox + Header参数

问Spring + Springfox + Header参数
EN

Stack Overflow用户
提问于 2016-04-13 07:03:21
回答 2查看 35.1K关注 0票数 34
代码语言:javascript
复制
@RequestMapping(...)
public Foo getFoo(@HeaderParam("header") final String header) {
    ...
}

像上面那样添加一个@HeaderParam方法参数,springfox将获取它,当我查看swagger-ui时,它有一个用于标头的字段。这正是我想要的。有没有一种方法可以让springfox在一组方法中包含这个头参数,而不需要在方法本身中包含参数?我们真正要做的是一个使用头的servlet过滤器,我们希望通过swagger-ui轻松地设置它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-14 11:17:36

您可以在摘要定义中使用globalOperationParameters。例如

代码语言:javascript
复制
new Docket(...)
            .globalOperationParameters(
        Arrays.asList(new ParameterBuilder()
            .name("header")
            .description("Description of header")
            .modelRef(new ModelRef("string"))
            .parameterType("header")
            .required(true)
            .build()))

有关详细信息,请参阅文档中的#22。

票数 77
EN

Stack Overflow用户

发布于 2017-03-21 16:57:34

对于同样的问题,又有一个解释答案:

代码语言:javascript
复制
@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);
    }
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36585643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档