Как вернуть несколько объектов InputStream в ответе rest API? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть один API для отдыха, разработанный в Java SpringBoot, в котором я могу указать один объект InputStream в ответе, используя следующий код.

public ResponseEntity<StreamingResponseBody> export(request) throws FileNotFoundException { 
InputStream inputStream = service.getDocumentObject();
StreamingResponseBody responseBody = outputStream -> {
    int numberOfBytesToWrite;
    byte[] data = new byte[1024];
    while ((numberOfBytesToWrite = inputStream.read(data, 0, data.length)) != -1) {
        System.out.println("Writing some bytes..");
        outputStream.write(data, 0, numberOfBytesToWrite);
    }
    inputStream.close();
};
return ResponseEntity.ok()
        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=generic_file_name.bin")
        .contentType(MediaType.APPLICATION_OCTET_STREAM)
        .body(responseBody);}

Но теперь у меня есть требование, когда я должен возвращать несколько Объекты InputStream в ответе API. Можно ли сделать то же самое? если да, то предоставьте образец кода для справки.

Заранее спасибо.

...