Spring WebFlux + MongoDB: получить моно Из потока <Object> - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь конвертировать Flux в Mono>. Я использую настраиваемый курсор.

Это работает:

@GetMapping(value = "/structures1/ids", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<Structure> streamMessages1(@RequestParam List<Long> ids) {
    return  repository.findWithTailableCursorByIdInAndLastUpdateAfter(ids, LocalDateTime.now().minusSeconds(2));
}

Но это не так:

@GetMapping(value = "/structures1/ids", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Mono<List<Structure>> streamMessages11(@RequestParam List<Long> ids) {
    Flux<Structure> list = repository.findWithTailableCursorByIdInAndLastUpdateAfter(ids, LocalDateTime.now().minusSeconds(2));
    return  list.collectList();
}

С первым кодом я могу получить данные в браузере. Со вторым ничего. Кто-нибудь может сказать мне, где я иду не так?

Flux возвращается нормально. Когда я пытаюсь превратить Flux в Mono ничего не возвращает

Мой контроллер и репозиторий:

введите описание изображения здесь

...