我有几个控制器类都需要头参数。为了记录swagger,我将这个@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
}问题是我不喜欢在控制器方法上重复相同的注解。这里有没有一个很好的干净的解决方案来拥有一个可重用的注解?
发布于 2020-03-18 17:30:39
因此,部分修复是创建我自己自定义接口,如下所示:
@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不同,我就不能重用该端点。我不知道如何将一些参数传递给我的自定义注释来覆盖默认值……
https://stackoverflow.com/questions/60672709
复制相似问题