2016-08-19 1 views
2

Ich habe eine Pojo-Klasse.Jersey JSON Parsing mit Stammname des Klassennamens

@XmlRootElement(name = "project") 
public class Project { 

    private UUID id; 
    private String label; 
    private String name; 

    //getters and setters 
} 

Es akzeptiert dies als Eingabe, wenn ich vom Postboten versuche.

{ 
    "label" : "label", 
    "name" : "name" 
} 

Aber, ich will es Werte wie

{ 
    "project" : { 
     "label" : "label", 
     "name" : "name" 
    } 
} 

Mein Endpunkt-Methode akzeptieren ist

@POST 
    @Consumes(MediaType.APPLICATION_JSON) 
    @Produces(MediaType.APPLICATION_JSON) 
    public Response createProject(Project project) { 

     log.info("createProject called." + project); 
     if (project == null) { 
      return Response.ok(false).build(); 
     } 

     ps = new ProjectServiceImpl(); 
     return Response.ok(ps.createProject(project)).build(); 
    } 

verschiedene andere Methoden gibt, die so sind, wie alle Projekte erhalten, wo Die andere Partei erwartet 'root-name' oder 'class-name' wie diese am Anfang von json. Ich bin mit solchen Dingen beschäftigt und verlangsamt meine Arbeit. Bitte schlagen Sie mir etwas vor oder geben Sie eine Quelle an, wo ich das Zeug lesen kann.

Antwort

0

Bitte benutzen Sie @XmlRootElement statt @XmlRootElement (name = "Projekt") und probieren Sie es aus