У меня есть список Object, который я хотел перебрать по каждому элементу в списке, для каждого элемента , сериализуйте объект в JSON и передайте JSON {...} клиенту веб-браузера.
Вот код Spring Controller:
Код: Выделить всё
@RequestMapping(path = "/test", method = RequestMethod.GET, produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public void Flux createFluxForCoverageOrLayerObject(List objects) throws PetascopeException {
Flux result =
Flux.fromIterable(objects)
.map(object -> {
String jsonObj = this.createProprietaryObjectInJson(object);
return Optional.of(jsonObj);
})
.filter(Optional::isPresent) // Filter out Optional.empty() values
.map(Optional::get) // Unwrap the value from the Optional
.concatWith(Mono.just("Complete")) // Signal the end of the stream
.doOnComplete(() -> log.debug("Proprietary Capabilities stream has completed sending all items."));
return result;
}
Я знаю, что это часть стандарта SSE (Sever Send Event), но как я могу избавиться от этих данных: со стороны сервера, чтобы это не нарушило функцию потоковой передачи из WebFlux?
Другими словами, это обязательно отправлять эти данные: клиенту?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -to-client
Мобильная версия