Как использовать 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. Конечно, могут быть и другие.