@AliasFor declaration on attribute 'method' in annotation [com.zto.titans.soa.http.annotation.HttpJsonExecute] points to itself. Specify 'annotation' to point to a same-named attribute on a meta-annotation.
时间: 2023-11-27 15:50:27 浏览: 127
js.base.3.statement共30页.pdf.z
这个问题是因为在使用@AliasFor注解时,注解上的属性名称指向了自己。解决方法是在@AliasFor注解中添加annotation属性,指向元注解中同名的属性。例如:
```java
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@HttpMethod(HttpMethod.POST)
@Mapping
@Documented
public @interface HttpJsonExecute {
@AliasFor(attribute = "value", annotation = Mapping.class)
String[] path() default {};
@AliasFor(attribute = "method", annotation = HttpMethod.class)
HttpMethodType[] methodType() default HttpMethodType.POST;
...
}
```
在这个例子中,将@AliasFor注解的annotation属性设置为Mapping.class或HttpMethod.class,以指向元注解中同名的属性。这样就可以解决这个问题。
阅读全文