title: Making multiple requests with Spring WebClient
body: <p>So my goal is to use WebClient to make multiple concurrent requests, wait until they're all completed, then combine the results. Here is what I have so far:</p>
  
  <pre><code>...
  
  Flux&lt;ServerResponse&gt; feedResponses = request
          .bodyToMono(AddFeedRequestDto.class)
          .map(AddFeedRequestDto::getFeeds) // Returns a list of RSS feed URLs
          .map(this::getServerResponsesFromUrls) // Returns a list of Mono&lt;Feed&gt;
          .map(Flux::merge) // Wait til all requests are completed
          // Not sure where to go from here
  
  ...
  
  /** Related methods: **/
  
  private List&lt;Mono&lt;Feed&gt;&gt; getServerResponsesFromUrls(List&lt;String&gt; feedUrls) {
      List&lt;Mono&lt;Feed&gt;&gt; feedResponses = new ArrayList&lt;&gt;();
      feedUrls.forEach(feedUrl -&gt; feedResponses.add(getFeedResponse(feedUrl)));
      return feedResponses;
  }
  
  public Mono&lt;Feed&gt; getFeedResponse(final String url) {
      return webClient
              .get()
              .uri(url)
              .retrieve()
              .bodyToMono(String.class) // Ideally, we should be able to use bodyToMono(FeedDto.class)
              .map(this::convertResponseToFeedDto)
              .map(feedMapper::convertFeedDtoToFeed);
  }
  
  /** Feed.java **/
  @Getter
  @Setter
  public class Feed {
      List&lt;Item&gt; items;
  }
  </code></pre>
  
  <p>Basically my goal is to combine all the items from each of the feeds to create one unified feed. However, I am not quite sure what to do after the call to Flux::merge. Any suggestions would be appreciated.</p>