首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring boot可重用的springdoc-openapi参数注释

Spring boot可重用的springdoc-openapi参数注释
EN

Stack Overflow用户
提问于 2020-03-13 22:59:33
回答 1查看 1.3K关注 0票数 2

我有几个控制器类都需要头参数。为了记录swagger,我将这个@Parameter注释添加到我的所有端点:

代码语言:javascript
复制
    @Parameter(in = ParameterIn.HEADER, description = "some description", name = "some name", content = @Content(schema = @Schema(allowableValues = {VALUE1, VALUE2, VALUE3, VALUE4})))
    @GetMapping
    public void method(@RequestHeader .....) {
    //some code here
    }

问题是我不喜欢在控制器方法上重复相同的注解。这里有没有一个很好的干净的解决方案来拥有一个可重用的注解?

EN

回答 1

Stack Overflow用户

发布于 2020-03-18 17:30:39

因此,部分修复是创建我自己自定义接口,如下所示:

代码语言:javascript
复制
@Target({PARAMETER, METHOD, FIELD, ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Parameter(in = ParameterIn.HEADER, description = "some description", name = "some name", content = @Content(schema = @Schema(allowableValues = {VALUE1, VALUE2, VALUE3, VALUE4})))
public @interface MyCustomAnnotation {
}

这样我就可以重用它并节省一些代码。问题是当一些值不同时。例如,如果端点之间的allowableValues不同,我就不能重用该端点。我不知道如何将一些参数传递给我的自定义注释来覆盖默认值……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60672709

复制
相关文章

相似问题

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