使用切面实现
/**
* @Auther: liyongli
* @Date: 2019/9/20 14:43
* @Description:
*/
@Slf4j
@Aspect
@Component
@Order(3)
public class ParamValidAspect {
/**
* 定义切入点
*/
@Pointcut("execution(public * com.sunlands.datacenter.framework.web.controller..*(..))")
public void paramValidService() {
}
/**
* 在切入点开始处切入内容
*
* @param joinPoint
*/
@Around("paramValidService()")
public ResBaseDTO<Object> around(ProceedingJoinPoint joinPoint) {
ResBaseDTO<Object> res = new ResBaseDTO<>();
res.setSuccess();
// 获取所有的请求参数
Object[] args = joinPoint.getArgs();
if (null != args && args.length > 0) {
for (Object obj : args) {
if (obj instanceof BindingResult) {
// 参数验证
res = validate((Bind