Hi Michal,
thanks for the hints. I called isEnabled() always in the ctor of the
application and now it is clear why it returnd false. Now I obtain the
configuration via
@Context Configuration config
Afterwards I can call config.isEnabled(ValidationFeature.class) and it
returns true. That is great.
One question more: How do I ensure that an entity will be validated
before it will be overhanded to a resource method? I use
jersey-media-json-jackson to map JSON to an annotated entity. But the
entity is never validated. At least it seams so to me. The class is
annotated with some @NotNull annotations but I never get constraint
validations.
BTW, the code is online at
https://bitbucket.org/obfischer/jersey-playground/src/0703ae28873a/beanvalidation-simple/src/main/java/net/sweblog/jerseyplayground/beanvalidationsimple/b/?at=master
available.
Thanks,
Oliver
Post by Michal GajdosHi Oliver,
where exactly are you trying to call isEnabled method? The method
returns true if ValidationFeature is registered in an application (it's
enough to add jersey-bean-validation on the class-path) AND the
ValidationFeature has been processed (ValidationFeature.configure has
been invoked - this happens during initialization of the app). This
means that if you call isEnabled in ResourceConfig it would return false
(ValidationFeature has not been processed). Similarly this the return
value would be false if you call the method in Features that are
processed BEFORE ValidationFeature. The method would return true when a
request is processed (i.e. in resource method, filters, interceptors, ...).
HTH,
Michal
Post by Oliver B. FischerHi,
I try to enable bean validation i a test application with Jersey 2.7.
I added org.glassfish.jersey.ext:jersey-bean-validation as dependency
and called
register(ValidationFeature.class);
But if I call
isEnabled(ValidationFeature.class);
it returns false.
So what did I miss? According to the documentation Jersey will enable
bean validation if it finds the right dependencies in the classpath.
BR, Oliver