無法顯示自己定義的錯(cuò)誤信息(金額必填)
我在Girl實(shí)體類里定義了@NotNull,但是最后顯示在客戶端不是我在message中填的而是一段錯(cuò)誤代碼
{ ??"code":?1, ??"msg":?"Failed?to?convert?property?value?of?type?'java.lang.String'?to?required?type?'double'?for?property?'money';?nested?exception?is?java.lang.NumberFormatException:?empty?String", ??"data":?null }
我的Girl對應(yīng)出的代碼如下:
@Id @GeneratedValue private?Integer?id; @NotBlank(message?=?"這個(gè)字段必須傳") private?String?cupSize; @Min(value?=?18,?message?=?"未成年少女禁止入內(nèi)") private?Integer?age; @NotNull(message?=?"金額必穿") private?Double?money;
Controller處對應(yīng)代碼:
@PostMapping("/girls") ????public?Result<Girl>?girlAdd(@Valid?Girl?girl,?BindingResult?bindingResult){ ????????????Result?result?=?new?Result(); ????????if?(bindingResult.hasErrors()){ ????????????result.setCode(1); ????????????result.setMsg(bindingResult.getFieldError().getDefaultMessage()); ????????????return?result; ????????} //????????girl.setCupSize(girl.getCupSize()); //????????girl.setAge(girl.getAge()); ????????//上述兩行實(shí)際上是不用加的??傳值時(shí)就已經(jīng)設(shè)值了,在Girl實(shí)體類里有Getter,Setter方法 ????????result.setCode(0); ????????result.setMsg("成功"); ????????result.setData(girlRepository.save(girl)); ????????return?result; ????}
我試過,如果cupSize不填,他正常報(bào)錯(cuò),但是金額不填就不是這么回事了。百思不得其解
2017-10-29
在Controller打個(gè)斷點(diǎn)看一下money是什么數(shù)據(jù),還有就是NotBlank 與NotEmpty ?NotNull 進(jìn)行區(qū)別 ? 你先打個(gè)斷點(diǎn)看一下money是null 還是“”空串