怎么通过自定义注解获取所注解方法的入参?

qq_36628260 2018-08-15 05:19:53
我写了一个自定义注解,在一个controller方法上写上了注解,求问怎么获取该controller方法的入参
...全文
2632 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckyZQC 2020-05-15
  • 打赏
  • 举报
回复
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

// 拦截的实体类,就是当前正在执行的controller
Object target = pjp.getTarget();
System.out.println("拦截的实体类,就是当前正在执行的controller------"+target);
// 拦截的方法名称。当前正在执行的方法
String methodName = pjp.getSignature().getName();
System.out.println("拦截的方法名称。当前正在执行的方法-------"+methodName);
// 拦截的方法参数
Object[] args = pjp.getArgs();
System.out.println("-------拦截的方法参数--------");
for(int i=0;i<args.length;i++){
System.out.println("======"+args[i]);
}
System.out.println("-------拦截的方法参数--------");
// 拦截的放参数类型
Signature sig = pjp.getSignature();
System.out.println("拦截的参数类型---------"+sig);
guoyilin1 2020-05-12
  • 打赏
  • 举报
回复
同问同问,插眼
Coder_D 2018-08-22
  • 打赏
  • 举报
回复 1
1.实现一个切面
什么是切面还有怎么实现请百度
2.利用反射获取方法上的注解或者拦截的条件里面加入该注解
3.利用反射获得方法签名,从中得到你想要的参数信息
Spinach007 2018-08-22
  • 打赏
  • 举报
回复
自宝义注解标记参数,不标记方法。
qq_36628260 2018-08-15
  • 打赏
  • 举报
回复
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Action{

long ordercode() default 1;

}
这是我写的自定义注解;
@Action(ordercode=11)
@ResponseBody
@RequestMapping(value = "")
public Object enableOrDisableItemById(@RequestParam("id") Long id,@RequestParam("status") Long status)
我在这个controller方法上写入了@Action注解,可是现在我想让@Action的ordercode获取入参中的id。找了好久没有找到解决方法,有哪位大神能帮帮忙。
Xinym_ 2018-08-15
  • 打赏
  • 举报
回复
我前段时间刚写过类似的代码,忘了放在那里了,要不然直接贴给你。你百度搜一下 JAVA AOP @Around相关,会找到你想要的东西的
qq_36628260 2018-08-15
  • 打赏
  • 举报
回复
有没有大神帮帮忙啊,在线等

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧