Проверка Spring Bean дает исключение ConstraintDeclarationException - PullRequest
0 голосов
/ 24 декабря 2018

Я получаю javax.validation.ConstraintDeclarationException: HV000197: не найден экстрактор значения для параметра типа 'T' типа реактора.core.publisher.Mono.Я получаю это после добавления @Validated на уровне класса.Если я уберу это, логика проверки не сработает.

  @RestController
  @Validated
  public class ContactInfoController implements ContactInfoApi {
  public Flux<UserContactsModel> getUserContacts(@RequestBody  Mono<@Valid  LoginModel> loginDetail) {

1 Ответ

0 голосов
/ 24 декабря 2018

Сообщение об ошибке, которое вы получаете, на самом деле является ожидаемым, поскольку в HV не зарегистрировано ValueExtractor.Эти экстракторы значений требуются при проверке бинов, когда значение должно быть извлечено из некоторого контейнера.Для получения более подробной информации о ValueExtractors см. Эту документацию

В вашем конкретном случае Mono рассматривается как контейнер.Но концепция Mono (Subscriber) отличается от контейнера.И я не вижу, как вы могли бы смешать эти два понятия вместе.Чтобы иметь возможность «проверять» моно, вам на самом деле нужно обернуть его метод subscribe некоторым прокси-сервером проверки и выполнить проверку, когда значение передается самому моно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...