Hi Santiago,
I just created
https://github.com/eclipse-ee4j/jaxrs-api/issues/759.
As for the "if enabled", I had some confusion on that point, but
then I thought Guillaume Smet from the Hibernate Validator project
clarified it. In particular, he said that GreetingModel in
@GET
@Valid
@Produces(MediaType.APPLICATION_JSON)
GreetingModel getHelloGreeting() {...}
is getting validated during the property validation phase, rather
than when getHelloGretting() is called as a resource method. To
quote him, "When validating the bean in JaxrsInjectionTarget,
you validate the bean itself and thus all its properties - so all
the fields and getters. It is not method validation but property
validation. That's why your configuration in the XML file is
useless. Getters are already not validated methods by default.
But... they are validated when you validate the properties of a
bean", where, by "your configuration in the XML file" he is
referring to
<executable-validation>
<default-validated-executable-types>
<executable-type>CONSTRUCTORS</executable-type>
<executable-type>NON_GETTER_METHODS</executable-type>
</default-validated-executable-types>
</executable-validation>
So, the point is that there seems to be no mechanism for disabling
getter validation during the field/property validation phase. So "if
enabled" doesn't seem to be applicable. Does that make sense?
-Ron
On 4/26/19 2:05 PM, Santiago
Pericas-Geertsen wrote:
Ron,
I agree, the JAX-RS spec should mention @PostContruct as part of the validation process. Do you want to file an issue?
Incidentally, the “if enabled” is because getters are not validated by default as described in Section 7.4 of the JAX-RS spec.
— Santiago
On Apr 26, 2019, at 12:03 PM, Ron Sigal <rsigal@xxxxxxxxxx> wrote:
The spirit of the validation process is that validation of fields/properties should take place after injection and initialization has occurred. Given that further initialization could take place in a @PostConstruct annotated method, shouldn't the spec mention that?
This question arose from discussion in https://issues.jboss.org/browse/WFLY-11956 "@PostConstruct on @ApplicationScoped bean called too late in case @Valid is annotated on a business method".
-Ron
_______________________________________________
jaxrs-dev mailing list
jaxrs-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jaxrs-dev
_______________________________________________
jaxrs-dev mailing list
jaxrs-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jaxrs-dev