aop 获取方法入参_spring的aop如何获取方法中带注解的参数然后进行统一验证

我要进行service层参数的统一验证, 我的service层的方法中参数类型不固定, 数量也不固定, 如下:

int createUser(@ParamValid User user){}

int createGroup(@ParamValid Group group, OtherParam param);

@ParamValid是我的自定义注解, 以上2个需要验证的参数的实现如下:

public class User {

@NotNull(message = "姓名不能为空")

@Length(min=1, max = 5, message = "名字长度必须是1~5")

private String name;

@NotNull(message = "age不能为空")

@Max(value = 100, message = "年龄不能大于100岁")

private int age;

}

//Group ........

我想通过AOP获取service层的所有方法中加@MyValid的参数, 然后进行统一验证改如何弄呢

@Aspect

@Component

public class ValidWebParamAspect {

private final Logger logger = Logger.getLogger(getClass());

@Pointcut("@args(com.surdoc.common.validation.ParamValid)") //对嘛

public void validWebParam(){}

/**

* 在执行切点前执行

* @param joinPoint

*/

@Before("validWebParam()")

public void validWebParamBefore(JoinPoint joinPoint){

// 获取方法中只有 @ParamValid的参数

// 执行 验证, 验证失败抛出异常

// 怎么获取上面的 @ParamValid User user 和 @ParamValid Group group

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值