手機網(wǎng)站建設(shè)浩森宇特seo建站優(yōu)化
Valid注解配合屬性校驗注解完成參數(shù)校驗并且優(yōu)化參數(shù)校驗異常處理
- 1 @Valid注解配合屬性校驗注解完成參數(shù)校驗
- 2 優(yōu)化參數(shù)校驗異常處理
1 @Valid注解配合屬性校驗注解完成參數(shù)校驗
向數(shù)據(jù)庫商品分類表中新增商品分類字段,并校驗傳入的參數(shù)
不使用注解的傳統(tǒng)方法:
使用注解的方法:
@Valid加在controller層的AddCategoryReq類參數(shù)前
@Size、@NotNull、@Max加在AddCategoryReq類屬性上面
這樣,前臺通過json傳遞的數(shù)據(jù),通過@RequestBody封裝為對象后,@Valid就會校驗對象中各個字段是否符合限制。
但現(xiàn)在的問題是,對于不符合限制的異常,都包含在Exception類中,不能具體顯示message中的信息
2 優(yōu)化參數(shù)校驗異常處理
在全局異常處理類中處理這個參數(shù)校驗異常:MethodArgumentNotValidException
objectError.getDefaultMessage
就可以獲得錯誤信息(屬性上面的message定義的)
并保存到ArrayList中,最后list.toString()返回String類型信息,保存到msg屬性中,統(tǒng)一為ApiRestResponse返回對象。