Есть несколько способов сделать это.
Вы можете сделать следующее:
public void some(MyObject myObject) {
return webClient.post()
.uri("/log/my-path")
.body(BodyInserters.fromObject(myObject))
.retrieve()
.bodyToMono(Void.class)
.subscribe();
}
Это имеет важную проблему: даже если вы не заинтересованы в самом ответе, вы можете захотеть иметь определенные свойства, такие как:
- Уведомление в случае ошибок и их обработка
- Убедиться, что в случае пакетного / CLI-приложения что-то удерживает этот запрос и не позволяет вашему приложению завершиться, думая, что все сделано
В этом случае вы можете связать ответ с типом Mono<Void>
, который завершается как Mono.empty()
или с ошибкой:
public Mono<Void> some(MyObject myObject) {
return webClient.post()
.uri("/log/my-path")
.body(BodyInserters.fromObject(myObject))
.retrieve()
.bodyToMono(Void.class)
.then();
}
В других частях вашего приложения вы можете снова связываться с другими издателями:
Mono<Void> requestSent = some(myObject);
Mono<Other> other = requestSent.then(otherMono);