Есть ли способ заставить Postman показывать JSON-ответ, когда файл сбрасывается в OutputStream из службы REST? - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть приложение SpringBoot, которое мне нужно для сброса файла в OutputStream, чтобы клиент мог загрузить файл. Следующий код является рабочим файлом:

  public FileData getFile(FileRequest request, HttpServletResponse httpResponse) {

      byte[] byteArr = getBytes(); // get file content in byte[]

      try (InputStream inStream = new BufferedInputStream(byteArr);
           OutputStream outStream = httpResponse.getOutputStream();) {

         while (inStream.read(buffer, 0, 1000) > 0) {
             outStream.write(buffer, 0, 1000);
         }
         outStream.flush();             
       }

       FileData fileData = new FileData();
       fileData.setReceiveTime(someTime);
       return fileData;
 }

Когда я проверял этот код в Почтальоне, Почтальон показывал это сообщение

"Этот ответ не удалось просмотреть. Загрузите ответ, чтобы открытьэто с соответствующим приложением "

, которое я смог сохранить ответ в файл, с которым я тестировал. Но Почтальон не показал FileData в ответе JSON. Я проверил логи, fileData был заполнен с правильным значением. Так есть ли способ позволить Postman показывать FileData как ответ JSON?

И мне интересно, может ли вызывающая сторона моего API получить как файл для загрузки, так и FileData, который я возвратил вответ JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...