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