
cloud.agileframework.mvc.provider.ArgumentValidationHandlerProvider Maven / Gradle / Ivy
package cloud.agileframework.mvc.provider;
import cloud.agileframework.mvc.exception.AgileArgumentException;
import cloud.agileframework.mvc.param.AgileParam;
import cloud.agileframework.validate.ValidateMsg;
import cloud.agileframework.validate.ValidateUtil;
import com.google.common.collect.Maps;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
/**
* @author 佟盟
* 日期 2020/8/00031 17:57
* 描述 参数验证解析
* @version 1.0
* @since 1.0
*/
public class ArgumentValidationHandlerProvider implements ValidationHandlerProvider {
@Override
public void before(HttpServletRequest request, HttpServletResponse response, Method method) throws Exception {
//入参验证
HashMap paramsClone = Maps.newHashMap(AgileParam.getInParam());
if (paramsClone.isEmpty()) {
paramsClone = null;
}
List validateMessages = ValidateUtil.handleInParamValidate(method, paramsClone);
List optionalValidateMsgList = ValidateUtil.aggregation(validateMessages);
if (!optionalValidateMsgList.isEmpty()) {
throw new AgileArgumentException(optionalValidateMsgList);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy