启用包含基于MyCustomAnnotation标志的注释

时间:2017-12-30 17:32:54

标签: spring-boot annotations swagger-2.0

可以根据CustomAnnotation的标志省略包含的注释。即:

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
@Documented
@ApiImplicitParams({ @ApiImplicitParam(name = "Authorization",
                                       value = "Authorization token",
                                       dataType = "string",
                                       paramType = "header")
                   })
public @interface OAuth {
    @AliasFor("enabled") boolean value() default true;

    @AliasFor("value") boolean enabled() default true;
}

启用OAuth时:

@OAuth(true)
public void requireAuthorizationInHeader() {}

将包含ApiImplicitParams,因为OAuth为true

另一方面,

@OAuth(false)
public void notRequireAuthorizationInHeader() {}

ApiImplicitParams应该生效。

0 个答案:

没有答案