WebFlux/Project Reactor

0

Załóżmy, że mam metodę:

 public Mono<?> registration(@RequestBody RegistrationRequest registrationRequest){
            Mono<User> register = registrationService.register(registrationRequest);
            return register;
    }

Jak teraz zalogować do konsoli info, że user został zapisany ? Próbowałem coś takiego:

register.subscribe(v -> logger.info("Saved: " + v.toString()));

Ale nic się nie dzieje. block() na register też wywołać nie mogę, bo leci java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-2. Proszę o pomoc.

0

użyj doOnNext( .... )

0

Dalej pusto w konsoli.

0

Pokaż jakeś to zrobił.

0

@jarekr000000:

 public Mono<?> registration(@RequestBody RegistrationRequest registrationRequest){
       logger.info(" Registration request:  " + registrationRequest);

       Mono<User> register = registrationService.registerUser(registrationRequest);
       register.doOnNext(v -> logger.info("saved:" + v.getName()));
       return register;
    }

0

@slayer9:
No to słabo:

Zobacz to:

  public Mono<?> registration(@RequestBody RegistrationRequest registrationRequest){
        logger.info(" Registration request:  " + registrationRequest);
         return registrationService.registerUser(registrationRequest)
                         .doOnNext(v -> logger.info("saved:" + v.getName()));
     }
 

I zrozum dlaczego twoje nie może działać.

Thinking in values.

1 użytkowników online, w tym zalogowanych: 0, gości: 1