org.springframework.web.reactive.function.client

Interface ClientRequest



  • public interface ClientRequest
    Represents a typed, immutable, client-side HTTP request, as executed by the ExchangeFunction. Instances of this interface can be created via static builder methods.

    Note that applications are more likely to perform requests through WebClient rather than using this directly.

    Since:
    5.0
    Author:
    Brian Clozel, Arjen Poutsma
    • Field Detail

      • LOG_ID_ATTRIBUTE

        static final java.lang.String LOG_ID_ATTRIBUTE
        Name of attribute whose value can be used to correlate log messages for this request. Use logPrefix() to obtain a consistently formatted prefix based on this attribute.
        Since:
        5.1
        See Also:
        logPrefix()
    • Method Detail

      • method

        HttpMethod method()
        Return the HTTP method.
      • url

        java.net.URI url()
        Return the request URI.
      • headers

        HttpHeaders headers()
        Return the headers of this request.
      • cookies

        MultiValueMap<java.lang.String,java.lang.String> cookies()
        Return the cookies of this request.
      • attribute

        default java.util.Optional<java.lang.Object> attribute(java.lang.String name)
        Return the request attribute value if present.
        Parameters:
        name - the attribute name
        Returns:
        the attribute value
      • attributes

        java.util.Map<java.lang.String,java.lang.Object> attributes()
        Return the attributes of this request.
      • logPrefix

        java.lang.String logPrefix()
        Return a log message prefix to use to correlate messages for this request. The prefix is based on the value of the attribute LOG_ID_ATTRIBUTE along with some extra formatting so that the prefix can be conveniently prepended with no further formatting no separators required.
        Returns:
        the log message prefix or an empty String if the LOG_ID_ATTRIBUTE is not set.
        Since:
        5.1
      • writeTo

        reactor.core.publisher.Mono<java.lang.Void> writeTo(ClientHttpRequest request,
                                                            ExchangeStrategies strategies)
        Writes this request to the given ClientHttpRequest.
        Parameters:
        request - the client http request to write to
        strategies - the strategies to use when writing
        Returns:
        Mono<Void> to indicate when writing is complete
      • from

        static ClientRequest.Builder from(ClientRequest other)
        Create a builder with the method, URI, headers, and cookies of the given request.
        Parameters:
        other - the request to copy the method, URI, headers, and cookies from
        Returns:
        the created builder
      • method

        @Deprecated
        static ClientRequest.Builder method(HttpMethod method,
                                                        java.net.URI url)
        Deprecated. in favor of create(HttpMethod, URI)
        Create a builder with the given method and url.
        Parameters:
        method - the HTTP method (GET, POST, etc)
        url - the url (as a URI instance)
        Returns:
        the created builder
      • create

        static ClientRequest.Builder create(HttpMethod method,
                                            java.net.URI url)
        Create a request builder with the given method and url.
        Parameters:
        method - the HTTP method (GET, POST, etc)
        url - the url (as a URI instance)
        Returns:
        the created builder