public abstract class MethodValidator extends FieldValidator
方法参数校验:拦截方法中包含@Constraints注解的方法
e.g.:
1.开启spring切面特性:
2.编写子类:
@Component @Aspect
public class TestMethodValidator extends MethodValidator {
@Around(
value = "execution(public * cn.ponfee.xxx.service.impl..*Impl..*(..)) && @annotation(cst)",
argNames = "pjp,cst"
)
@Override
public Object constrain(ProceedingJoinPoint pjp, Constraints cst) throws Throwable {
return super.constrain(pjp, cst);
}
@Override
protected Object handleFailure(Class> returnType, String errMsg) {
if (BaseResult.class.isAssignableFrom(returnType)) {
return BaseResult.failure(errMsg);
}
return super.handleFailure(returnType, errMsg);
}
}
参数校验| 构造器和说明 |
|---|
MethodValidator() |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
constrain(org.aspectj.lang.ProceedingJoinPoint pjp,
Constraints validator) |
constrain, constrain, constrain, handleFailure, newInstance, processErrorpublic Object constrain(org.aspectj.lang.ProceedingJoinPoint pjp, Constraints validator) throws Throwable
pjp - validator - ThrowableCopyright © 2023. All rights reserved.