1.實體類
package com.example; import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.List; /* @NotNull 驗證對象是否不為null, 無法查檢長度為0的字符串 @NotBlank 檢查約束 (字符串) 是不是Null還有被Trim的長度是否大於0,只對字符串,且會去掉前后空格. @NotEmpty 檢查(集合)約束元素是否為NULL或者是EMPTY. ********上面導入的是兩個包****** */ public class Student { @NotNull(message = "用戶ID不能為空") private Long userID; @NotEmpty(message = "地址不能為空") private List<String> addressID; @NotBlank(message = "備注不能為空") private String comment; public Student() { } public Long getUserID() { return userID; } public void setUserID(Long userID) { this.userID = userID; } public List getAddressID() { return addressID; } public void setAddressID(List addressID) { this.addressID = addressID; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } @Override public String toString() { return "Order{" + "userID=" + userID + ", addressID=" + addressID + ", comment='" + comment + '\'' + '}'; } }
2.Controller
@RequestMapping("/create") @ResponseBody public String create(@RequestBody @Valid Student dto, BindingResult results) { if (results.hasErrors()) { return results.getFieldError().getDefaultMessage(); } return dto.toString(); }
3.postman測試
json對象
{
"addressID":["address1","address2","address3"],
"comment":"備注...",
"userID":100
}
總結: 1.注意注解引用的包不一樣
2. @NotEmpty 用在集合類上面
@NotBlank 用在String上面
@NotNull 用在基本類型上