Ben yol değişkene doğrulama ekleyerek yapıyor çalıştı bir Pojo için
@RestController
public class MyController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public ResponseEntity method_name(@PathVariable String id) {
/// Some code
}
}
taşımak istemiyor ama onun hala çalışmıyor vermediği için, id alanını doğrulamak istiyorum Sen senin Bahar yapılandırmasında fasulye oluşturmak gerekir: Sen kumandanızda @Validated
ek açıklama bırakmalısınız
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}
. ne zaman doğrulama isabetler mesajı görmelisiniz bu değişikliklerden sonra
@ExceptionHandler(value = { ConstraintViolationException.class })
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public String handleResourceNotFoundException(ConstraintViolationException e) {
Set<ConstraintViolation<?>> violations = e.getConstraintViolations();
StringBuilder strBuilder = new StringBuilder();
for (ConstraintViolation<?> violation : violations) {
strBuilder.append(violation.getMessage() + "\n");
}
return strBuilder.toString();
}
:
Ve ConstraintViolationException
işlemek için MyController
sınıfında bir Exceptionhandler gerekir.
S.S .: Sadece @Size
doğrulama ile denedim.
Kodunuzda hiç bir yol değişkeni yok, en azından URL'nizde değil, neyin doğrulanması gerektiğinden emin olun ... –
Üzgünüm hile kopyalayın ve buradaki kodu yapıştırın –
Eğer method_name yönteminde bir döngü varsa basitçe deneyebilirsiniz (id == null || id.length() <1 || id.length()> 2) {Dize mesajı = "adın 1 ile 10 karakter arasında olması gerekir"; } ve yanıtı true olursa, –