validar validaciones valid mvc con campos bean java jersey jax-rs bean-validation

java - validaciones - Cascado en cascada de validación de beans de forma recursiva, @Valid anotación



validaciones spring mvc (1)

Estoy validando mis POJO en un punto final de recursos REST en Jersey:

public class Resource { @POST public Response post(@NotNull @Valid final POJO pojo) { ... } } public class POJO { @NotNull protected final String name; @NotNull @Valid protected final POJOInner inner; ... } public class POJOInner { @Min(0) protected final int limit; ... }

Esto parece que funciona bien.

Sin embargo, la @Min(0) solo se verifica si el campo inner tiene la anotación @Valid . No se siente bien agregar la anotación @Valid a cada campo que no es primitivo.

¿Hay alguna manera de decirle al validador del bean que continúe automáticamente la validación recursivamente, incluso cuando no hay @Valid anotación @Valid presente? Me gustaría que mi POJO fuera como sigue:

public class POJO { @NotNull protected final String name; @NotNull protected final POJOInner inner; ... }


En realidad, de acuerdo con la especificación, agregar @Valid es exactamente para este caso de uso. De la especificación JSR 303:

Además de admitir la validación de instancias, también se admite la validación de gráficos de objetos. El resultado de una validación de gráfico se devuelve como un conjunto unificado de violaciones de restricciones. Considere la situación en la que el bean X contiene un campo de tipo Y. Al anotar el campo Y con la anotación @Valid, el Validador validará Y (y sus propiedades) cuando se valide X.

...

La anotación @Valid se aplica recursivamente