Wie poste ich einen Pojo mit Jersey Client, ohne ihn manuell in JSON zu konvertieren?

8

Ich habe einen funktionierenden json-Dienst, der so aussieht:

%Vor%

Das Abfrageobjekt sieht so aus und wenn eine json-Repräsentation dieses Abfrageobjekts gepostet wird, funktioniert es gut.

%Vor%

Nun möchte ich dieses Objekt von einem Client aus ausfüllen und den Jersey-Client verwenden, um das Query-Objekt an den Service zu senden und ein JSONObject als Ergebnis zu erhalten. Mein Verständnis ist, dass es getan werden könnte, ohne es zuerst in ein JSON-Objekt umzuwandeln und dann als String zu veröffentlichen.

Ich habe so etwas versucht, aber ich denke, ich vermisse etwas.

%Vor%

Ich benutze Jersey 1.12.

Jede Hilfe oder ein Zeiger in die richtige Richtung wäre sehr willkommen.

    
Perty 26.04.2012, 14:26
quelle

2 Antworten

3

Wenn Ihr Web-Service einen JSON erzeugt, müssen Sie diesen in Ihrem Client mit einer accept() -Methode behandeln:

%Vor%

Versuchen Sie dies und geben Sie Ihre Ergebnisse.

    
Alex Stybaev 26.04.2012, 14:41
quelle
5

Die WebResource.entity-Methode (...) ändert Ihre webResource-Instanz nicht ... Sie erstellt und gibt ein Builder-Objekt zurück, das die Änderung enthält. Ihr Aufruf an .post wird normalerweise von einem Builder-Objekt statt vom WebResource-Objekt ausgeführt. Dieser Übergang wird leicht verdeckt, wenn alle Anforderungen miteinander verkettet sind.

%Vor%

Hier ist das gleiche Beispiel für die Verkettung. Es benutzt immer noch einen Builder, aber weniger offensichtlich.

%Vor%     
phatfingers 26.04.2012 15:58
quelle

Tags und Links