2 Stimmen

Es kann nicht angegeben werden, welcher Antworttyp beim Aufruf einer Jersey-Api akzeptiert wird

Ich habe eine Jersey-Api, die zuvor eingerichtet wurde, um mit XML zu antworten (JAXB marshalling, @Produces("application/xml")). Ich möchte nun die Möglichkeit hinzufügen, Antworten im JSON-Format anzufordern, indem ich die JAXB/JSON-Kompatibilität nutze.

Ich habe das Argument meiner @Produces-Annotation auf {"application/json", "application/xml"} geändert, wodurch JSON als Standardantworttyp festgelegt wird. Anschließend führe ich die folgenden Aufrufe aus, um einen Benutzer per E-Mail über cUrl abzurufen:

curl -k https://api.mywebservice.com/service/user/email/foo@bar.com

gibt wie erwartet eine JSON-Antwort zurück.

curl -k -H "accepts: application/xml" -H "content-type: application/xml" https://api.mywebservice.com/service/user/email/foo@bar.com

auch erzeugt eine JSON-Antwort.

Natürlich habe ich als erstes die Annotation auf @Produces{"application/xml", "application/json"} umgestellt und konnte dann keine JSON-Antwort mehr erhalten, selbst wenn ich eine im Header angegeben hatte.

Für jeden Gedanken oder Vorschlag wären wir Ihnen sehr dankbar. Danke.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X