Da się wyjąć obiekt z Publishera ?

Da się wyjąć obiekt z Publishera ?
S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 415
0

Mam metodę:

Kopiuj
@Override
    public Mono<Void> saveAll(Publisher<PizzaDTO> pizzaPublisher) {
        return pizzaReactiveRepository
            .saveAll().then();
    }

Tylko, że na razie nie działa, ponieważ saveAll() zapisuje do bazy obiekty typu Pizza, a nie PizzaDTO. Moje pytanie brzmi, czy da się jakoś wyciągnąć z tego Publishera obiekt PizzaDTO żeby go przekonwertować, a później przekazać do saveAll ?

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
0

map

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 415
0

A jakieś wskazówki jak tutaj użyć map ? Bo generalnie to o map wiem, użyłem jej w innej metodzie, ale w inny sposób:

Kopiuj
 @Override
    public Mono<PizzaDTO> saveDTO(PizzaDTO pizzaDTO) {
        return pizzaReactiveRepository.save(pizzaDTOToPizza.convert(pizzaDTO))
            .map(p -> pizzaToPizzaDTO.convert(p));
    }

Przy publisher nie wiem jak to zrobić.

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
1
Kopiuj
pizzaReactiveRepository.saveAll( Mono.fromDirect(pizzaPublisher).map(  pizzaDTO->pizzaDTOToPizza.convert(pizzaDTO))
S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 415
0

Właśnie już kilka minut temu wpadłem na coś podobnego tylko, że nie powinno tam być Flux.from(pizzaPublisher) zamiast Mono.fromDirect(pizzaPublisher), skoro to jest metoda saveAll() ? Czy bez różnicy?

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
0

Ile masz tych obiektów? Jeden - to daj Mono, wiele - to daj Flux.
Z punktu widzenia Api bez różnicy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.