Falta el elemento raíz del objeto para el objeto JSON en los documentos generados por Enunciate
Frecuentes
Visto 1,422 equipos
0
Estoy usando Enunciate para generar documentación para mi proyecto REST. El problema que tengo es con el objeto json de ejemplo que genera. Si bien la representación XML es correcta, a la representación JSON del mismo objeto le falta el elemento raíz (en el ejemplo siguiente es "env")
Luego, la clase Java define el tipo de objeto "env"
@Mapped(namespaceMap = {
@XmlNsMap(namespace = "http://example.com/myapp", jsonName = "")
})
@XmlRootElement(name="env")
@XmlAccessorType(XmlAccessType.FIELD)
public static class Environment {
public int id;
public String name;
public String description;
}
La documentación XML generada por Enunciate (que es correcta - elemento raíz y todo)
<?xml version="1.0" encoding="UTF-8"?>
<env xmlns="http://example.com/myapp">
<id>...</id>
<name>...</name>
<description>...</description>
</env>
La documentación JSON generada por Enunciate (lo cual es incorrecto: falta el elemento raíz "env")
{
"id" : ...,
"name" : "...",
"description" : "..."
}
Cualquier ayuda es muy apreciada.
1 Respuestas
0
No existen cosas como un elemento JSON "raíz". ¿Cómo espera que esté allí la propiedad "env"? El Procesador Jackson JSON serializará ese objeto tal como lo muestra Enunciate como ejemplo. ¿Está utilizando un procesador JSON diferente?
Respondido 09 Abr '14, 22:04
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jaxb enunciate or haz tu propia pregunta.
Cuando dije elemento "raíz", quise decir el elemento raíz "env" del xml. Estoy usando Jettison para serializar. La salida json para el ejemplo anterior cuando se usa Jettison es {"env" : {"id":..., "name":..., "description":...}}. Entiendo con Jackson, puede personalizar la salida usando la opción SerializationConfig.Feature.WRAP_ROOT_VALUE. No vi una opción similar en Jettison - Rocky
Veo. Bueno, Enunciate asume el uso del procesador Jackson, y todavía está limitado en su configuración JSON personalizada. Entonces, todos los ejemplos que genera asumirán generalmente lo que Jackson hace por defecto. - ryan heaton