Как остановиться после первого ограничения в Springboot для проверки - PullRequest
0 голосов
/ 02 марта 2020

У меня есть совет от контроллера:

@ExceptionHandler(ConstraintViolationException.class)
ResponseEntity<String> handleConstraintViolationException(ConstraintViolationException constraintViolationException) {
    return new ResponseEntity<>(constraintViolationException.getMessage(), HttpStatus.BAD_REQUEST);
}

У меня есть контроллер:

@PostMapping(value="linkSellerBuyer")
@Validated
public String createSellerBuyer(Seller seller, Buyer buyer) {
    // some code
    return "some response";
}

каждая модель похожа на:

public class Seller {
    @NotEmpty String Email;
    // and more and more
}

public class Buyer {
    @NotEmpty String Email;
    // and more and more
}

ошибка, которую я получаю, Я всегда получаю ошибки продавца и покупателя

Например: продавец: не должен быть пустым, покупатель: не должен быть пустым,

Я хочу, чтобы продавец: не должен быть пустым

? Как я могу создать код для этого?

1 Ответ

0 голосов
/ 03 марта 2020

Если вы отметите это , вы увидите, что он проверяет все параметры одновременно. Но если вам действительно нужно только одно и первое сообщение, вы можете извлечь его в вашем handleConstraintViolationException:

@ExceptionHandler(ConstraintViolationException.class)
ResponseEntity<String> handleConstraintViolationException(ConstraintViolationException constraintViolationException) {
    return new ResponseEntity<>(constraintViolationException.getConstraintViolations()
            .iterator().next().getMessage(), 
            HttpStatus.BAD_REQUEST);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...