У меня есть ниже которого загружает файл с c50c4a23307529b59797525c52b2c50c контента * file1.zipОбъединить несколько ответ на один ответ
Теперь я хочу, чтобы объединить file1Response и file2Response & возвращение как JSON. Любая помощь в том, как это сделать?
@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;
}
попытался добавить в ArrayList следующим образом:
@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();
}
возвращается в com.sun.jersey.api.MessageException ошибки: Писатель тела сообщений для класса java.util.ArrayList Java и Java type class java.util.ArrayList и приложение типа MIME media/json не были найдены.
file1Отчет исходит из нижеследующего, может быть изменено ниже, чтобы вернуть строку.
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();
Я принимаю Ответ - это объект javax.ws.rs.core.Response. Сначала это не сработает, потому что это интерфейс, и вам придется добавить @JsonTypeInfo к нему, чтобы рассказать сериализатору, как его сериализовать. Вам нужно преобразовать ArrayList в ArrayList и поместить в него фактическое строковое значение, а не объект Response. –
Я попытался file1Response.getEntity(). ToString(), но это возвращает [email protected], а не фактическое содержимое. Как получить строку от ответа? – Newbie