Browse Source

Polishing

pull/32173/head
Juergen Hoeller 2 years ago
parent
commit
d7649d088d
  1. 1
      spring-test/src/main/java/org/springframework/test/web/client/MockMvcClientHttpRequestFactory.java
  2. 6
      spring-test/src/main/java/org/springframework/test/web/servlet/MvcResult.java
  3. 66
      spring-web/src/main/java/org/springframework/web/client/RestOperations.java

1
spring-test/src/main/java/org/springframework/test/web/client/MockMvcClientHttpRequestFactory.java

@ -35,7 +35,6 @@ import org.springframework.util.Assert;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.request; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.request;
/** /**
* A {@link ClientHttpRequestFactory} for requests executed via {@link MockMvc}. * A {@link ClientHttpRequestFactory} for requests executed via {@link MockMvc}.
* *

6
spring-test/src/main/java/org/springframework/test/web/servlet/MvcResult.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2018 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -34,13 +34,13 @@ public interface MvcResult {
/** /**
* Return the performed request. * Return the performed request.
* @return the request, never {@code null} * @return the request (never {@code null})
*/ */
MockHttpServletRequest getRequest(); MockHttpServletRequest getRequest();
/** /**
* Return the resulting response. * Return the resulting response.
* @return the response, never {@code null} * @return the response (never {@code null})
*/ */
MockHttpServletResponse getResponse(); MockHttpServletResponse getResponse();

66
spring-web/src/main/java/org/springframework/web/client/RestOperations.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2021 the original author or authors. * Copyright 2002-2024 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -30,7 +30,8 @@ import org.springframework.lang.Nullable;
/** /**
* Interface specifying a basic set of RESTful operations. * Interface specifying a basic set of RESTful operations.
* Implemented by {@link RestTemplate}. Not often used directly, but a useful *
* <p>Implemented by {@link RestTemplate}. Not often used directly, but a useful
* option to enhance testability, as it can easily be mocked or stubbed. * option to enhance testability, as it can easily be mocked or stubbed.
* *
* @author Arjen Poutsma * @author Arjen Poutsma
@ -67,7 +68,7 @@ public interface RestOperations {
<T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException; <T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException;
/** /**
* Retrieve a representation by doing a GET on the URL . * Retrieve a representation by doing a GET on the URL.
* The response (if any) is converted and returned. * The response (if any) is converted and returned.
* @param url the URL * @param url the URL
* @param responseType the type of the return value * @param responseType the type of the return value
@ -78,7 +79,7 @@ public interface RestOperations {
/** /**
* Retrieve an entity by doing a GET on the specified URL. * Retrieve an entity by doing a GET on the specified URL.
* The response is converted and stored in an {@link ResponseEntity}. * The response is converted and stored in a {@link ResponseEntity}.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* @param url the URL * @param url the URL
* @param responseType the type of the return value * @param responseType the type of the return value
@ -91,7 +92,7 @@ public interface RestOperations {
/** /**
* Retrieve a representation by doing a GET on the URI template. * Retrieve a representation by doing a GET on the URI template.
* The response is converted and stored in an {@link ResponseEntity}. * The response is converted and stored in a {@link ResponseEntity}.
* <p>URI Template variables are expanded using the given map. * <p>URI Template variables are expanded using the given map.
* @param url the URL * @param url the URL
* @param responseType the type of the return value * @param responseType the type of the return value
@ -103,8 +104,8 @@ public interface RestOperations {
throws RestClientException; throws RestClientException;
/** /**
* Retrieve a representation by doing a GET on the URL . * Retrieve a representation by doing a GET on the URL.
* The response is converted and stored in an {@link ResponseEntity}. * The response is converted and stored in a {@link ResponseEntity}.
* @param url the URL * @param url the URL
* @param responseType the type of the return value * @param responseType the type of the return value
* @return the converted object * @return the converted object
@ -144,7 +145,7 @@ public interface RestOperations {
// POST // POST
/** /**
* Create a new resource by POSTing the given object to the URI template, and returns the value of * Create a new resource by POSTing the given object to the URI template, and return the value of
* the {@code Location} header. This header typically indicates where the new resource is stored. * the {@code Location} header. This header typically indicates where the new resource is stored.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
@ -164,7 +165,7 @@ public interface RestOperations {
URI postForLocation(String url, @Nullable Object request, Object... uriVariables) throws RestClientException; URI postForLocation(String url, @Nullable Object request, Object... uriVariables) throws RestClientException;
/** /**
* Create a new resource by POSTing the given object to the URI template, and returns the value of * Create a new resource by POSTing the given object to the URI template, and return the value of
* the {@code Location} header. This header typically indicates where the new resource is stored. * the {@code Location} header. This header typically indicates where the new resource is stored.
* <p>URI Template variables are expanded using the given map. * <p>URI Template variables are expanded using the given map.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
@ -185,7 +186,7 @@ public interface RestOperations {
throws RestClientException; throws RestClientException;
/** /**
* Create a new resource by POSTing the given object to the URL, and returns the value of the * Create a new resource by POSTing the given object to the URL, and return the value of the
* {@code Location} header. This header typically indicates where the new resource is stored. * {@code Location} header. This header typically indicates where the new resource is stored.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
@ -204,7 +205,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URI template, * Create a new resource by POSTing the given object to the URI template,
* and returns the representation found in the response. * and return the representation found in the response.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
@ -226,7 +227,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URI template, * Create a new resource by POSTing the given object to the URI template,
* and returns the representation found in the response. * and return the representation found in the response.
* <p>URI Template variables are expanded using the given map. * <p>URI Template variables are expanded using the given map.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
@ -248,7 +249,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URL, * Create a new resource by POSTing the given object to the URL,
* and returns the representation found in the response. * and return the representation found in the response.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
* <p>The body of the entity, or {@code request} itself, can be a * <p>The body of the entity, or {@code request} itself, can be a
@ -267,7 +268,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URI template, * Create a new resource by POSTing the given object to the URI template,
* and returns the response as {@link ResponseEntity}. * and return the response as {@link ResponseEntity}.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
@ -288,7 +289,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URI template, * Create a new resource by POSTing the given object to the URI template,
* and returns the response as {@link HttpEntity}. * and return the response as {@link HttpEntity}.
* <p>URI Template variables are expanded using the given map. * <p>URI Template variables are expanded using the given map.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
@ -309,7 +310,7 @@ public interface RestOperations {
/** /**
* Create a new resource by POSTing the given object to the URL, * Create a new resource by POSTing the given object to the URL,
* and returns the response as {@link ResponseEntity}. * and return the response as {@link ResponseEntity}.
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
* <p>The body of the entity, or {@code request} itself, can be a * <p>The body of the entity, or {@code request} itself, can be a
@ -373,7 +374,7 @@ public interface RestOperations {
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
* <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH. * <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH.
* You need to use the Apache HttpComponents or OkHttp request factory.</b> * You need to use e.g. the Apache HttpComponents request factory.</b>
* @param url the URL * @param url the URL
* @param request the object to be PATCHed (may be {@code null}) * @param request the object to be PATCHed (may be {@code null})
* @param responseType the type of the return value * @param responseType the type of the return value
@ -382,8 +383,7 @@ public interface RestOperations {
* @since 4.3.5 * @since 4.3.5
* @see HttpEntity * @see HttpEntity
* @see RestTemplate#setRequestFactory * @see RestTemplate#setRequestFactory
* @see org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory * @see org.springframework.http.client.HttpComponentsClientHttpRequestFactory
* @see org.springframework.http.client.OkHttp3ClientHttpRequestFactory
*/ */
@Nullable @Nullable
<T> T patchForObject(String url, @Nullable Object request, Class<T> responseType, Object... uriVariables) <T> T patchForObject(String url, @Nullable Object request, Class<T> responseType, Object... uriVariables)
@ -396,7 +396,7 @@ public interface RestOperations {
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
* <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH. * <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH.
* You need to use the Apache HttpComponents or OkHttp request factory.</b> * You need to use e.g. the Apache HttpComponents request factory.</b>
* @param url the URL * @param url the URL
* @param request the object to be PATCHed (may be {@code null}) * @param request the object to be PATCHed (may be {@code null})
* @param responseType the type of the return value * @param responseType the type of the return value
@ -405,8 +405,7 @@ public interface RestOperations {
* @since 4.3.5 * @since 4.3.5
* @see HttpEntity * @see HttpEntity
* @see RestTemplate#setRequestFactory * @see RestTemplate#setRequestFactory
* @see org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory * @see org.springframework.http.client.HttpComponentsClientHttpRequestFactory
* @see org.springframework.http.client.OkHttp3ClientHttpRequestFactory
*/ */
@Nullable @Nullable
<T> T patchForObject(String url, @Nullable Object request, Class<T> responseType, <T> T patchForObject(String url, @Nullable Object request, Class<T> responseType,
@ -418,7 +417,7 @@ public interface RestOperations {
* <p>The {@code request} parameter can be a {@link HttpEntity} in order to * <p>The {@code request} parameter can be a {@link HttpEntity} in order to
* add additional HTTP headers to the request. * add additional HTTP headers to the request.
* <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH. * <p><b>NOTE: The standard JDK HTTP library does not support HTTP PATCH.
* You need to use the Apache HttpComponents or OkHttp request factory.</b> * You need to use e.g. the Apache HttpComponents request factory.</b>
* @param url the URL * @param url the URL
* @param request the object to be PATCHed (may be {@code null}) * @param request the object to be PATCHed (may be {@code null})
* @param responseType the type of the return value * @param responseType the type of the return value
@ -426,8 +425,7 @@ public interface RestOperations {
* @since 4.3.5 * @since 4.3.5
* @see HttpEntity * @see HttpEntity
* @see RestTemplate#setRequestFactory * @see RestTemplate#setRequestFactory
* @see org.springframework.http.client.HttpComponentsAsyncClientHttpRequestFactory * @see org.springframework.http.client.HttpComponentsClientHttpRequestFactory
* @see org.springframework.http.client.OkHttp3ClientHttpRequestFactory
*/ */
@Nullable @Nullable
<T> T patchForObject(URI url, @Nullable Object request, Class<T> responseType) <T> T patchForObject(URI url, @Nullable Object request, Class<T> responseType)
@ -491,8 +489,8 @@ public interface RestOperations {
// exchange // exchange
/** /**
* Execute the HTTP method to the given URI template, writing the given request entity to the request, and * Execute the HTTP method to the given URI template, writing the given request entity to the request,
* returns the response as {@link ResponseEntity}. * and return the response as {@link ResponseEntity}.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
@ -507,8 +505,8 @@ public interface RestOperations {
Class<T> responseType, Object... uriVariables) throws RestClientException; Class<T> responseType, Object... uriVariables) throws RestClientException;
/** /**
* Execute the HTTP method to the given URI template, writing the given request entity to the request, and * Execute the HTTP method to the given URI template, writing the given request entity to the request,
* returns the response as {@link ResponseEntity}. * and return the response as {@link ResponseEntity}.
* <p>URI Template variables are expanded using the given URI variables, if any. * <p>URI Template variables are expanded using the given URI variables, if any.
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
@ -523,8 +521,8 @@ public interface RestOperations {
Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException; Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException;
/** /**
* Execute the HTTP method to the given URI template, writing the given request entity to the request, and * Execute the HTTP method to the given URI template, writing the given request entity to the request,
* returns the response as {@link ResponseEntity}. * and return the response as {@link ResponseEntity}.
* @param url the URL * @param url the URL
* @param method the HTTP method (GET, POST, etc) * @param method the HTTP method (GET, POST, etc)
* @param requestEntity the entity (headers and/or body) to write to the request * @param requestEntity the entity (headers and/or body) to write to the request
@ -538,7 +536,7 @@ public interface RestOperations {
/** /**
* Execute the HTTP method to the given URI template, writing the given * Execute the HTTP method to the given URI template, writing the given
* request entity to the request, and returns the response as {@link ResponseEntity}. * request entity to the request, and return the response as {@link ResponseEntity}.
* The given {@link ParameterizedTypeReference} is used to pass generic type information: * The given {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean =
@ -561,7 +559,7 @@ public interface RestOperations {
/** /**
* Execute the HTTP method to the given URI template, writing the given * Execute the HTTP method to the given URI template, writing the given
* request entity to the request, and returns the response as {@link ResponseEntity}. * request entity to the request, and return the response as {@link ResponseEntity}.
* The given {@link ParameterizedTypeReference} is used to pass generic type information: * The given {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean =
@ -584,7 +582,7 @@ public interface RestOperations {
/** /**
* Execute the HTTP method to the given URI template, writing the given * Execute the HTTP method to the given URI template, writing the given
* request entity to the request, and returns the response as {@link ResponseEntity}. * request entity to the request, and return the response as {@link ResponseEntity}.
* The given {@link ParameterizedTypeReference} is used to pass generic type information: * The given {@link ParameterizedTypeReference} is used to pass generic type information:
* <pre class="code"> * <pre class="code">
* ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean = * ParameterizedTypeReference&lt;List&lt;MyBean&gt;&gt; myBean =

Loading…
Cancel
Save