Receiving objects reactively

Now, we understand how to return objects reactively, but how we can accept them? When we create a reactive microservice, Spring can send to our RequestMapping a Mono publisher that will have the object in the body when we subscribe to it. But we need to make our service accept a Mono with a promise of a value, so first let's modify our service interface:

package com.microservices.chapter4import reactor.core.publisher.Fluximport reactor.core.publisher.Monointerface CustomerService {  fun getCustomer(id: Int) : Mono<Customer?>  fun searchCustomers(nameFilter: String): Flux<Customer>  fun createCustomer(customerMono: Mono<Customer>) : Mono<*>}

Why have we set the result of our function to be a Mono? When we create a ...

Get Hands-On Microservices with Kotlin now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.