Controller:
@RequiresPermissions("user:add")
@ApiOperation(value = "增加用户")
@PostMapping("/add")
public JSONObject addUser(@RequestBody JSONObject requestJson) {
// 后台的必填校验
CommonUtil.hasAllRequired(requestJson, "username, password, nickname, status,createTime,companies,roles");
try {
userService.addUser(requestJson);
} catch (Exception e) {
logger.info(e.getMessage());
return CommonUtil.errorJson(ErrorEnum.E_30004);
}
return CommonUtil.successJson();
}
hasAllRequired方法:
/**
* 验证是否含有全部必填字段
* jsonObject 为前台传的值 ,requiredColumns为必须要传的字段
* @param requiredColumns 必填的参数字段名称 逗号隔开 比如"userId,name,telephone"
*/
public static void hasAllRequired(final JSONObject jsonObject, String requiredColumns) {
if (!StringTools.isNullOrEmpty(requiredColumns)) {
//验证字段非空
String[] columns = requiredColumns.split(",");
String missCol = "";
for (String column : columns) {
//按照必填字段取前台传过来的参数
Object val = jsonObject.get(column.trim());
//如果没有查到那个值,就代表着传过来的字段少了
if (StringTools.isNullOrEmpty(val)) {
missCol += column + " ";
}
}
if (!StringTools.isNullOrEmpty(missCol)) {
jsonObject.clear();
jsonObject.put("code", ErrorEnum.E_90003.getErrorCode());
jsonObject.put("msg", "缺少必填参数:" + missCol.trim());
jsonObject.put("info", new JSONObject());
throw new CommonJsonException(jsonObject);
}
}
}
如果所传参数为request,可以转为json:https://blog.csdn.net/weixin_43844810/article/details/90762405