2011-04-29 13 views
8

que generan los objetos de dominio del esquema (petición & respuesta) utilizando JAXB (maven-jaxb2-plugin)
me gustaría añadir validaciones (notnull/vacío) para el par de atributos . Me gustaría tener la validación personalizada de Bean, la aplicación es un servicio REST, estoy usando Spring 3 y JSR 303 , pero no creo que pueda usar JSR 303 para validar el objeto tal como se genera desde el esquema.de validación para las clases JAXB generados (JSR 303/primavera)

alguien me puede dar un empujón en la dirección correcta sobre cómo hacer esto.

+0

¿Quiere decir que sus clases se generan automáticamente a partir del esquema jaxb, por lo que no puede agregar la anotación para JSR-303? – ekeren

Respuesta

0

Para NotNull validación/vacío se puede utilizar restricción jaxb en el esquema

aquí es un ejemplo:

<xsd:simpleType name="NotEmptyString"> 
    <xsd:restriction base="xsd:string"> 
    <xsd:minLength value="1"/> 
    </xsd:restriction> 
</xsd:simpleType> 

o puede utilizar patrones de expresiones regulares:

Nota : el tipo simple no garantiza una definición de clase propia. Se usa java.lang.String propia de Java, y la restricción de longitud no se verifica a menos que lo solicite a través de setEventHandler().

más información http://jaxb.java.net/tutorial/section_3_3-Validation.html#Validation

4

Hemos estado utilizando Krasa JAXB plugin para generar beans modelo JSR 303 anotados de archivos XSD, y luego telling Spring para validar automáticamente los beans de entrada. Esto da como resultado un código muy seco, muy escueto y muy SECO si tienes buenos XSD.

0

Estás en el camino correcto para generar el JAXB. Click Here para ver cómo funciona JSR 303 con POC

Cuestiones relacionadas