JoinPoint 获取方法注解
JoinPoint 获取方法注解
方法名 | 功能 |
---|---|
Signature getSignature(); | 获取封装了部署信息的对象,在该对象中可以获取到目标方法名,所属类的Class等信息 |
Object[] getArgs(); | 获取传入目标方法的参数对象 |
Object getTarget(); | 获取被代理的对象 |
Object getThis(); | 获取代理对象 |
// 第一种
try {
Class<?> clazz = joinPoint.getTarget().getClass();
String methodName = joinPoint.getSignature().getName();
Class<?>[] parameterTypes = ((MethodSignature) joinPoint.getSignature()).getMethod().getParameterTypes();
Method method = clazz.getMethod(methodName, parameterTypes);
PostMapping postMapping = method.getAnnotation(PostMapping.class);
String[] paths = postMapping.value();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
// 第二种
String[] paths = ((MethodSignature) joinPoint.getSignature()).getMethod().getAnnotation(PostMapping.class).value();
// Feign接口注解
// Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
// FeignClient feignClient = method.getDeclaringClass().getAnnotation(FeignClient.class);
本文作者:Zzzy君不见
本文链接:https://www.cnblogs.com/Zzzyyw/p/16350954.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步