2016-07-26 10 views
0

Ich habe einen REST-Service mit dem obigen Code (Response). Spricht eine Datei mit Textwerten wie "file1 addsagtdfgfd"REST Antwortdatei zu String

Wenn ich dies von einer anderen Klasse aufrufen und die Response verwenden, um den Inhalt wie folgt zu erhalten, gibt es mir nicht den Inhalt der Antwort. Es gibt

[email protected] 
String rp = file1Response.toEntity().toString(); 

Wie kann ich den String-Wert aus dem Rest Antwort bekommen (das ist eine Datei ist) oder wie kann ich den Code ändern, um eine Zeichenfolge zurück?

+0

Könnten Sie bitte die gesamte Methode posten? – Matt

Antwort

0

Ich würde die Datei zu einem String analysieren oder eine eigene Klasse erstellen, die alle Informationen über die Datei und ihren Inhalt enthält. Sie haben wahrscheinlich ein Problem mit der MessageBodyWriter.

Wenn Sie Ihre Datei in eine Zeichenfolge umwandeln, können Sie sie einfach in den Antworttext einfügen. Gleiches gilt für eine selbst geschriebene Klasse. Sie können steuern, welche Felder mit dem Text gesendet werden, indem Sie die Felder notieren, die Sie nicht mit @XmlTransient senden möchten.

Ich denke, dass die MessageBodyWriter kann die InputStream umgehen. Haben Sie jemals den HTTP-Statuscode überprüft? Es wird wahrscheinlich 500 Internal Server Error und in Ihren Protokollen sollten Sie etwas wie "MessageBodyWriter nicht für den Typ InputStream gefunden" sehen.

Auch Sie sollten den gesamten Methodencode in Ihre Fragen schreiben und alle Variablen zur Verfügung stellen, die Sie innerhalb dieser Methode verwenden.