У меня есть Java-подпружиненный бэкэнд с некоторыми конечными точками для данных.
Одним из них является POST
с несколькими параметрами, использующими axios.Проблема здесь в том, что запрос выполняется очень долго и полностью выполняется и отправляется со стороны сервера.POST
необходимо проанализировать и передать параметры внутри приложения, а затем вычислить ответ.
Я возвращаю List<Object>
(необходимо предварительно отсортировать)
Первая часть списка будетбудьте готовы через несколько секунд, но получение всего списка занимает минуты или даже десятки минут, в зависимости от параметров, которые были отправлены.
Итак, первая проблема заключается в том, что Axios бросает network error
, что, как я полагаю, связано с очень долгим ответомвремя.(Уходит при использовании более коротких запросов). Вторая проблема заключается в том, что приложение кажется не отвечающим никому, кроме разработчиков.
Есть ли способ использовать какое-то решение Java Stream для отправки первой части ответа, когдав ожидании отдыха?Или, может быть, какое-то решение для нумерации страниц?
Я некоторое время гуглил, но пока не нашел хороших решений этой проблемы.
Вот часть контроллера для справки:
@RequestMapping(value = "/contracts", method = RequestMethod.POST)
public String Contracts(@RequestBody String req) throws JsonProcessingException {
//omitting parse JSON params from req string
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.writeValueAsString(DateRange.getDataForDateRange(param1, param2, param3));
}
Я понимаю, что это довольно широкий вопрос, но понимание способа или технологии, стоящей за этим, было бы очень полезно для всего, что я делаю:)
Спасибо!