title: Equivalence of flatMapMany and flatMap from Mono/Flux to Flow (Kotlin Coroutines)
body: <p>I'm trying to refactor this code:</p>
  
  <pre><code>fun getCharacterFilms(serverRequest: ServerRequest): Mono&lt;ServerResponse&gt; {
      val films = starWarsApiWebClient.findCharacter(serverRequest.pathVariable("id").toInt())
              .flatMapMany { it.films.toFlux() }
              .flatMap(starWarsApiWebClient::findFilm)
  
      return ok().body(films, Film::class.java)
  }
  </code></pre>
  
  <p>where:</p>
  
  <pre><code>fun findCharacter(id: Int): Mono&lt;Character&gt; {...}
  
  fun findFilm(uri: URI): Mono&lt;Film&gt; {...}
  </code></pre>
  
  <p>but now with Flow:</p>
  
  <pre><code>fun findCharacter(id: Int) = webClient.baseUrl("https://swapi.co/api/").build()
              .get().uri("/people/$id/")
              .header("Content-Type", MediaType.APPLICATION_JSON_VALUE)
              .accept(MediaType.APPLICATION_JSON).retrieve()
              .bodyToFlow&lt;Character&gt;()
  
  fun findFilm(uri: URI): Flow&lt;Film&gt; {
      val webClient = WebClient.builder()
      return webClient.build()
              .get().uri(uri)
              .header("Content-Type", MediaType.APPLICATION_JSON_VALUE)
              .accept(MediaType.APPLICATION_JSON).retrieve()
              .bodyToFlow&lt;Film&gt;()
  }
  </code></pre>
  
  <p>There is no problem with:</p>
  
  <pre><code>suspend fun getCharacter(serverRequest: ServerRequest) = ok().bodyAndAwait(starWarsApiWebClient.findCharacter(serverRequest.pathVariable("id").toInt()))
  </code></pre>
  
  <p>but I don't know how to translate these flatMapMany and flatMap.</p>
  
  <p>Thanks in advance.</p>