springboot用aop做参数校验

原创
2018/10/09 11:20
阅读数 4.4K
/**
 * Created by 12274 on 2018/8/29.
 * 实现类所有方法入参校验
 */
@Aspect
@Component
@Slf4j
public class AopServiceImplConfig {

    @Pointcut("execution(public * cn.primeledger.bitun.boss.biz.api.*.*(..))")
    public void paramValidate(){
    }

    @Before("paramValidate()")
    public void before(JoinPoint joinPoint) throws Throwable {
        //参数数组 不可能为空,如果没有参数->{},如果参数为null->{null}
        Object[] paramArray = joinPoint.getArgs();
        log.info("class={},methon name={},methon param={}",joinPoint.getSignature().getName(),paramArray);
        //判断参数数组是否为null
        if (paramArray != null && paramArray.length > 0){
            try{
                for (Object obj : paramArray) {
                    BeanValidator.validate(obj).failThrow();
                }
            }catch (Exception e){
                throw new BossParamsException(e.getMessage());
            }
        }
    }

}
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部