Jersey. Wie zum generieren von json-und xml-Ausgabe je nach url-Parameter

Hier ist ein Jersey service:

@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response service(@QueryParam("format") String format) {

  if (format.equals("json")) {...}

  return response;

}

Möchte ich generieren XML oder JSON Antwort zurück, je nach url param "format".

Meine Antwort Instanz ist, die durch jaxb2

Ich weiß, ich darf Sie xml oder json Antwort zurück, wenn auf meinem Java-client /funktionales testen mit diesem code:

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_XML).get(String.class);

oder

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_JSON).get(String.class);

Aber ich muss es tun, je nach url-Parameter.

  • Wenn Sie könnten senden Sie eine richtige ContentType parameter application/json statt json haben, dann könnten Sie MediaType.valueOf(format) um die MediaType - Instanz und verwenden Sie es mit der accept-Methode.
  • Ihr Problem ist, dass Sie nicht wissen, wie die Antwort der content-type, oder...?
InformationsquelleAutor ses | 2013-08-02
Schreibe einen Kommentar