Как использовать Bean Validation в приложении Helidon?

Я пытаюсь создать простой ресурс отдыха с помощью Helidon-MP, но по какой-то причине он не работает, когда я добавляю аннотации проверки bean к моему методу.

@POST
public Response generatePlan(@Valid @ValidPlan JsonObject payload) {
   // some logic here
}

Это ожидаемое поведение? Или мне добавить зависимость или конфигурацию?

Я пытался найти что-то в документации, но не смог.

Спасибо


Я закончил тем, что ответил @LairdNelson и добавил следующие зависимости в свой pom.xml:

<dependency>
     <groupId>org.hibernate.validator</groupId>
     <artifactId>hibernate-validator</artifactId>
     <version>6.1.5.Final</version>
</dependency>
<dependency>
     <groupId>org.hibernate.validator</groupId>
     <artifactId>hibernate-validator-cdi</artifactId>
     <version>6.1.5.Final</version>
</dependency>
<dependency>
     <groupId>jakarta.el</groupId>
     <artifactId>jakarta.el-api</artifactId>
</dependency>
<dependency>
     <groupId>org.glassfish</groupId>
     <artifactId>jakarta.el</artifactId>
</dependency>

1 ответ

Решение

Проверка компонента не является частью набора спецификаций MicroProfile, поэтому по умолчанию она не является частью Helidon MP, который является реализацией MicroProfile.

Вы, конечно, можете добавить реализацию Bean Validation в свой путь к классам компиляции или среды выполнения при условии, что это переносимое расширение CDI (именно так вы добавляете произвольные возможности в любую реализацию, совместимую с MicroProfile). Одним из таких переносимых расширений является Hibernate Validator. Конечно, могут быть и другие.

Другие вопросы по тегам