RestEasy @ValidateRequest не работает
I am having below configuration for a RestEasy Rest WS
jaxrs-api-2.3.5.Final.jar,
resteasy-jaxrs-2.3.5.Final.jar,
resteasy-hibernatevalidator-provider-2.3.5.Final.jar,
hibernate-validator-4.3.2.Final.jar,
validation-api-1.0.0.GA.jar
I have added @ValidateRequest on class(tried on method as well) to validate any request input data before processing the request but i dont know why validation in not being invoked.
@Path(value = "/events")
@ValidateRequest
открытый класс EventRestController {
@GET
@Produces({ MediaType.APPLICATION_XML, ACCEPT_HEADER })
public Response get(@QueryParam("componentSerialNumber") @NotNull String componentSerialNumber) {
System.out.println("powerChangeEvevnt.getComponentSerialNumber() " + componentSerialNumber);
return Response.ok().build();
}
}
я не знаю, чего мне не хватает. пожалуйста, предложите.
1 ответ
Решение
Включение автоматического сканирования ресурсов Rest и провайдеров решило проблему, проверка начала работать.
просто установите значение параметра resteasy.scan в true в web.xml
Я явно зарегистрировал все ресурсы в подклассе, расширяющем класс javax.ws.rs.Application, но он не рассматривал HibernateValidator в качестве валидатора для валидации. Я обнаружил, что регистрация HibernateValidator в качестве валидатора довольно сложна, поэтому просто удалил этот явно зарегистрированный класс конфигурации и включил автоматическое сканирование.