參數校驗之——@Valid校驗屬性

@Valid校驗參數

import javax.validation.Valid;

給實體類屬性添加註解校驗

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import java.util.Date;

@ToString
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {

    @Min(value = 18,message = "未成年人")
    private Integer age;

    @NotEmpty(message = "不能爲空")
    private String name;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
}

測試類:

@RestController
public class Demo1 {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    /**
    	使用@Valid校驗Person屬性,結果綁定到BindingResult
    */
    @PostMapping("/update")
    public Result update(@Valid Person person , BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            List<ObjectError> errorList = bindingResult.getAllErrors();
            for(ObjectError error : errorList){
                logger.info(error.getDefaultMessage());
            }
        }
        return null;
    }
}    

測試:








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章