title: How to refactor the deprecated method .exchange()?
body: <p>I have next method that uses in AbstractWebClient. How can I refactor it to get rid of deprecated .exchange() and save availability to work in abstract way?</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>    private ClientResponse executeRequest(WebClient.RequestHeadersSpec&lt;?&gt; spec,
                                            RequestContext requestContext,
                                            String requestBody) {
          logRequest(requestContext, requestBody);
          return spec
                  .exchange()
                  .blockOptional()
                  .orElseThrow(() -&gt; new InternalException(String.format("%s: can't extract response from method \"%s\"", externalServiceName, requestContext.getApiMethodName())));
      }</code></pre>
  </div>
  </div>
  </p>