diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/entity/RestMethod.java b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/entity/RestMethod.java index a0eb409..acb820d 100644 --- a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/entity/RestMethod.java +++ b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/entity/RestMethod.java @@ -6,6 +6,8 @@ import group.flyfish.rest.registry.proxy.RestProxyInvoker; import group.flyfish.rest.utils.DataUtils; import lombok.Getter; import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.core.annotation.MergedAnnotation; +import org.springframework.core.annotation.MergedAnnotations; import java.beans.Transient; import java.lang.reflect.Method; @@ -75,12 +77,13 @@ public class RestMethod { * 初始化方法 */ private void init(Method method, RestProxyInvoker invoker) { - RestApi restApi = AnnotationUtils.findAnnotation(method, RestApi.class); + MergedAnnotation annotation = MergedAnnotations.from(method).get(RestApi.class); // 无视proxy,因为啥也没 - if (null == restApi) { + if (!annotation.isPresent()) { this.invalid = true; return; } + RestApi restApi = annotation.synthesize(); this.url = determineUrl(restApi, invoker); this.method = restApi.method(); this.credentials = restApi.credentials();