Spring hỗ trợ hai phương thức xác thực khác nhau: Xác thực mùa xuân và xác thực bean JSR-303. Cả hai đều có thể được sử dụng bằng cách xác định một trình xác thực Spring ủy quyền cho những người ủy quyền khác bao gồm cả trình xác nhận bean. Càng xa càng tốt.
Nhưng khi chú thích các phương thức để thực sự yêu cầu xác thực, đó là một câu chuyện khác. Tôi có thể chú thích như thế này
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) {
hoặc như thế này
@RequestMapping(value = "/object", method = RequestMethod.POST)
public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) {
Ở đây, @Valid là javax.validation.Valid và @Validated là org.springframework.validation.annotation.Validated . Các tài liệu cho sau này nói
Biến thể của JSR-303's Valid, hỗ trợ đặc điểm kỹ thuật của các nhóm xác thực. Được thiết kế để sử dụng thuận tiện với hỗ trợ JSR-303 của Spring nhưng không phải JSR-303 cụ thể.
điều này không giúp ích nhiều vì nó không cho biết chính xác nó khác nhau như thế nào. Nếu ở tất cả. Cả hai dường như đang hoạt động khá tốt đối với tôi.