title: Returning multiple Monos in Spring Webflux
body: <p>I'm trying to play about with SpringBoot 2.0 and the new reactive webFlux library. I want to know how I can return the results of two calls made via the none blocking WebClient to the caller of my Springboot API. The code I have is:</p>
  
  <pre><code>@RequestMapping("/search")
  public CombinedResults perfomSearch(@RequestParam final String searchTerm) {
      Mono&lt;SearchResponse&gt; fasMono = searchService.getSearchResults(searchTerm, "fh");
      Mono&lt;SearchResponse&gt; esMono = searchService.getSearchResults(searchTerm, "es");
      CombinedResults combinedResults = new CombinedResults(fasMono, esMono);
      return combinedResults;
  
  }
  </code></pre>
  
  <p>The CombinedResult object is just a POJO:</p>
  
  <pre><code>public class CombinedResults {
  
  private Mono&lt;SearchResponse&gt; fasSearchResponse;
  
  private Mono&lt;SearchResponse&gt; esSearchResponse;
  
  public CombinedResults(final Mono&lt;SearchResponse&gt; fasSearchResponse, final Mono&lt;SearchResponse&gt; esSearchResponse) {
      this.fasSearchResponse = fasSearchResponse;
      this.esSearchResponse = esSearchResponse;
  }
  
  public Mono&lt;SearchResponse&gt; getFasSearchResponse() {
      return fasSearchResponse;
  }
  
  public void setFasSearchResponse(final Mono&lt;SearchResponse&gt; fasSearchResponse) {
      this.fasSearchResponse = fasSearchResponse;
  }
  
  public Mono&lt;SearchResponse&gt; getEsSearchResponse() {
      return esSearchResponse;
  }
  
  public void setEsSearchResponse(final Mono&lt;SearchResponse&gt; esSearchResponse) {
      this.esSearchResponse = esSearchResponse;
  }
  </code></pre>
  
  <p>However if I call this the response I get back is</p>
  
  <pre><code>{
    "fasSearchResponse": {
      "scanAvailable": true
    },
    "esSearchResponse": {
      "scanAvailable": true
    }
  }
  </code></pre>
  
  <p>Rather than the contents of the SearchResponse objects. I feel I might be missing a fundamental point of how this is supposed to work! My thought was that because the WebClient is none blocking I can fire of the two calls to the web services and then combine them without the need for completable futures etc?</p>