闲来无事的时候,对之前项目中写过的代码做个简单的总结,其中有一个用于校验入参是否有效的工具类,在此记录一下,以便后续查询使用,现贴出以下代码,
public void validateRequestParamAndValueNotNull(Map<String, Object> params, String... args) throws Exception {
if (params.size() == 0) {
throw new CommonException("业务参数不能为空");
}
if (args.length == 0) {
return;
}
List<String> list1 = new ArrayList<>();
list1.addAll(params.keySet());
for (String key : list1) {
if (params.get(key) == null || params.get(key).toString().equals("") || params.get(key).toString().toLowerCase().equals("null")) {
params.remove(key);
continue;
}
if (params.get(key) instanceof Map) {
Map map = (Map) params.get(key);
if (map.size() == 0) {
params.remove(key);
}
}
}
List<String> list = new ArrayList<>();
for (String arg : args) {
if (!params.containsKey(arg)) {
list.add(arg);
}
}
if (list.size() > 0) {
throw new CommonException("Missing parameter {" + list.toString() + "}");
}
}