Ich habe die, unter dem Herunterladen einer Datei mit dem Inhalt c50c4a23307529b59797525c52b2c50c * file1.zipMehrfachantworten in einer Antwort Kombinieren
Jetzt möchte ich file1Response und file2Response & Rückkehr als json kombinieren. Irgendwelche Hilfe, wie es geht?
@GET
@Path("/" + getfileschecksum)
@Produces("application/json")
public Response getFilesChecksum() {
String fileid1 = "file1";
String fileid2 = "file2";
Response file1Response = getChecksum(fileid1);
Response file2Response = getChecksum(fileid2);
return file1Response;
}
versucht eine Arraylist hinzuzufügen, wie folgt:
com.sun.jersey.api.MessageException@GET
@Path("/" + getfileschecksum)
@Produces("application/json")
public Response getFilesChecksum() {
String fileid1 = "file1";
String fileid2 = "file2";
ArrayList<Response> rp = new ArrayList<Response>();
Response file1Response = getChecksum(fileid1);
Response file2Response = getChecksum(fileid2);
rp.add(file1Response);
rp.add(file2Response);
return Response.ok(rp).build();
}
kehrt den Fehler: einen Nachrichtenkörper Schreiber für Java-Klasse java.util.ArrayList und Java Geben Sie die Klasse java.util.ArrayList ein, und der MIME-Medientyp application/json wurde nicht gefunden.
file1Response kommt von unten, kann unten alles geändert werden, um eine Zeichenfolge zurückzugeben.
URL url = new URL(binpath);
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
String mt = connection.getContentType();
ResponseBuilder response = Response.ok((Object) is, mt);
response.header("Content-Disposition","attachment; filename=" + binpath.substring(binpath.lastIndexOf('/') + 1, binpath.length()));
return response.build();
Ich nehme an, Antwort ist das Objekt javax.ws.rs.core.Response. Zuerst wird dies nicht funktionieren, da es eine Schnittstelle ist und Sie @JsonTypeInfo hinzufügen müssen, um dem Serializer mitzuteilen, wie er serialisiert werden soll. Sie müssen Ihre ArrayList in ArrayList konvertieren und den tatsächlichen String-Wert anstelle des Response-Objekts eingeben. –
Ich versuchte file1Response.getEntity(). ToString(), aber dies liefert [email protected] und nicht den eigentlichen Inhalt. Wie bekomme ich den String von Response? – Newbie