【问题标题】:Spring boot reusable springdoc-openapi parameter annotationsSpring Boot 可复用 springdoc-openapi 参数注解
【发布时间】:2020-06-25 14:27:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: java spring-boot swagger


    【解决方案1】:

    所以部分修复是创建我自己的自定义界面:

    @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 不同,我就不能重用那个。我不知道如何将一些参数传递给我的自定义注释以覆盖默认值...

    【讨论】:

    猜你喜欢
    • 2022-12-06
    • 2021-03-29
    • 2020-12-18
    • 2020-04-02
    • 1970-01-01
    • 2020-07-23
    • 2020-05-12
    • 2021-07-01
    • 2020-10-02
    相关资源
    最近更新 更多