數據校驗工具類
阿新 • • 發佈:2018-03-02
log 滿足 工具類 lose rac super string throw class
思路,
1、傳入要校驗的屬性以及如果校驗不過提示信息
2、如果數據校驗不過返回json 格式信息。
3、不滿足條件拋出自定義異常,然後在異常處理器中獲取信息,return 信息
一、自定義異常
public class LyonException extends RuntimeException{ private static final long serialVersionUID = 1L; private String msg; private int code = 500; code 默認是500 public LyonException(String msg) {super(msg); this.msg = msg; }
public LyonException(String msg, int code) {
super(msg);
this.msg = msg;
this.code = code;
}
二、異常處理器
/** * 異常處理器 * @author lyon * @date 2018年3月2日 */ @RestControllerAdvice public class LyonExceptionHandler { @ExceptionHandler(LyonException.class) public R handlerLyonException(LyonException e){ R r = new R(); r.put("code", e.getCode()); r.put("msg", e.getMessage()); return r; } }
三、返回值R
public class R extends HashMap<String, Object> { private static final long serialVersionUID = 1L;View Codepublic R() { put("code", 0); put("msg", "操作成功"); } public static R error() { return error(1, "操作失敗"); } public static R error(String msg) { return error(500, msg); } public static R error(int code, String msg) { R r = new R(); r.put("code", code); r.put("msg", msg); return r; } public static R ok(String msg) { R r = new R(); r.put("msg", msg); return r; }
四、工具類
/** * 數據校驗 * @author lyon * @date 2018年3月2日 */ public abstract class Assert { /** * @param str 校驗的字符串 * @param msg 提示信息 */ public static void isBlank(String str,String msg){ if(StringUtils.isBlank(str)){ throw new LyonException(msg); } } public static void isNull(Object object, String message) { if (object == null) { throw new LyonException(message); } } }
五、測試
@GetMapping("/test") @ResponseBody public R hello(String name) { Assert.isBlank(name, "用戶名不能為空"); return R.ok(); }
數據校驗工具類