public class RestTemplate extends InterceptingHttpAccessor implements RestOperations
HttpURLConnection
、Apache HttpComponents などの基盤となる HTTP クライアントライブラリを介してシンプルなテンプレートメソッド API を公開します。RestTemplate は、頻度の低いケースをサポートする一般化された exchange
および execute
メソッドに加えて、HTTP メソッドによる一般的なシナリオのテンプレートを提供します。
注意 : 5.0 の時点で、ノンブロッキングのリアクティブ org.springframework.web.reactive.client.WebClient
は、RestTemplate
の最新の代替手段となり、同期と非同期の両方、ストリーミングシナリオを効率的にサポートします。RestTemplate
は将来のバージョンで非推奨となり、今後主要な新機能は追加されません。詳細とサンプルコードについては、Spring Framework リファレンスドキュメントの WebClient セクションを参照してください。
HttpMessageConverter
, RequestCallback
, ResponseExtractor
, ResponseErrorHandler
logger
コンストラクターと説明 |
---|
RestTemplate() デフォルト設定を使用して、 RestTemplate の新しいインスタンスを作成します。 |
RestTemplate(ClientHttpRequestFactory requestFactory) 指定された ClientHttpRequestFactory に基づいて、RestTemplate の新しいインスタンスを作成します。 |
RestTemplate(java.util.List<HttpMessageConverter<?>> messageConverters) 使用する HttpMessageConverter の指定されたリストを使用して、RestTemplate の新しいインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
<T> RequestCallback | acceptHeaderRequestCallback(java.lang.Class<T> responseType) 指定されたレスポンス型に基づいてリクエスト Accept ヘッダーを設定する RequestCallback を返し、構成されたメッセージコンバーターと照合します。 |
void | delete(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) 指定された URI のリソースを削除します。 |
void | delete(java.lang.String url, java.lang.Object... uriVariables) 指定された URI のリソースを削除します。 |
void | delete(java.net.URI url) 指定された URL のリソースを削除します。 |
protected <T> T | doExecute(java.net.URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor<T> responseExtractor) 指定された URI で指定されたメソッドを実行します。 |
<T> ResponseEntity<T> | exchange(RequestEntity<?> requestEntity, java.lang.Class<T> responseType) 指定された RequestEntity で指定されたリクエストを実行し、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) 指定された RequestEntity で指定されたリクエストを実行し、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.lang.String url, HttpMethod method, HttpEntity<?> requestEntity, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.lang.String url, HttpMethod method, HttpEntity<?> requestEntity, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.lang.String url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, java.util.Map<java.lang.String,?> uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.lang.String url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, java.lang.Object... uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.net.URI url, HttpMethod method, HttpEntity<?> requestEntity, java.lang.Class<T> responseType) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | exchange(java.net.URI url, HttpMethod method, HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) 指定された URI テンプレートに対して HTTP メソッドを実行し、指定されたリクエストエンティティをリクエストに書き込み、レスポンスを ResponseEntity として返します。 |
<T> T | execute(java.lang.String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor<T> responseExtractor, java.util.Map<java.lang.String,?> uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、 RequestCallback を使用してリクエストを準備し、ResponseExtractor を使用してレスポンスを読み取ります。 |
<T> T | execute(java.lang.String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor<T> responseExtractor, java.lang.Object... uriVariables) 指定された URI テンプレートに対して HTTP メソッドを実行し、 RequestCallback を使用してリクエストを準備し、ResponseExtractor を使用してレスポンスを読み取ります。 |
<T> T | execute(java.net.URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor<T> responseExtractor) 指定された URL に対して HTTP メソッドを実行し、 RequestCallback を使用してリクエストを準備し、ResponseExtractor を使用してレスポンスを読み取ります。 |
ResponseErrorHandler | getErrorHandler() エラーハンドラーを返します。 |
<T> ResponseEntity<T> | getForEntity(java.lang.String url, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) URI テンプレートで GET を実行して、表現を取得します。 |
<T> ResponseEntity<T> | getForEntity(java.lang.String url, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定された URL で GET を実行して、エンティティを取得します。 |
<T> ResponseEntity<T> | getForEntity(java.net.URI url, java.lang.Class<T> responseType) URL で GET を実行して表現を取得します。 |
<T> T | getForObject(java.lang.String url, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) URI テンプレートで GET を実行して、表現を取得します。 |
<T> T | getForObject(java.lang.String url, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定された URL で GET を実行して、表現を取得します。 |
<T> T | getForObject(java.net.URI url, java.lang.Class<T> responseType) URL で GET を実行して表現を取得します。 |
java.util.List<HttpMessageConverter<?>> | getMessageConverters() メッセージ本文コンバーターのリストを返します。 |
UriTemplateHandler | getUriTemplateHandler() 設定済みの URI テンプレートハンドラーを返します。 |
protected void | handleResponse(java.net.URI url, HttpMethod method, ClientHttpResponse response) 指定されたレスポンスを処理し、適切なロギングを実行し、必要に応じて ResponseErrorHandler を呼び出します。 |
protected ResponseExtractor<HttpHeaders> | headersExtractor() HttpHeaders のレスポンス抽出プログラムを返します。 |
HttpHeaders | headForHeaders(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) URI テンプレートで指定されたリソースのすべてのヘッダーを取得します。 |
HttpHeaders | headForHeaders(java.lang.String url, java.lang.Object... uriVariables) URI テンプレートで指定されたリソースのすべてのヘッダーを取得します。 |
HttpHeaders | headForHeaders(java.net.URI url) URL で指定されたリソースのすべてのヘッダーを取得します。 |
<T> RequestCallback | httpEntityCallback(java.lang.Object requestBody) 指定されたオブジェクトをリクエストストリームに書き込む RequestCallback 実装を返します。 |
<T> RequestCallback | httpEntityCallback(java.lang.Object requestBody, java.lang.reflect.Type responseType) RequestCallback 実装を返します。指定されたレスポンス型に基づいて、リクエスト Accept ヘッダーを設定し、構成されたメッセージコンバーターに対してクロスチェックします。 |
java.util.Set<HttpMethod> | optionsForAllow(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) 指定された URI の Allow ヘッダーの値を返します。 |
java.util.Set<HttpMethod> | optionsForAllow(java.lang.String url, java.lang.Object... uriVariables) 指定された URI の Allow ヘッダーの値を返します。 |
java.util.Set<HttpMethod> | optionsForAllow(java.net.URI url) 指定された URL の Allow ヘッダーの値を返します。 |
<T> T | patchForObject(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) 指定されたオブジェクトを URI テンプレートにパッチしてリソースを更新し、レスポンスで見つかった表現を返します。 |
<T> T | patchForObject(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定されたオブジェクトを URI テンプレートにパッチしてリソースを更新し、レスポンスで見つかった表現を返します。 |
<T> T | patchForObject(java.net.URI url, java.lang.Object request, java.lang.Class<T> responseType) 指定されたオブジェクトを URL にパッチしてリソースを更新し、レスポンスで見つかった表現を返します。 |
<T> ResponseEntity<T> | postForEntity(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) 指定されたオブジェクトを URI テンプレートに POST して新しいリソースを作成し、レスポンスを HttpEntity として返します。 |
<T> ResponseEntity<T> | postForEntity(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定されたオブジェクトを URI テンプレートに POST して新しいリソースを作成し、レスポンスを ResponseEntity として返します。 |
<T> ResponseEntity<T> | postForEntity(java.net.URI url, java.lang.Object request, java.lang.Class<T> responseType) 指定されたオブジェクトを URL に POST して新しいリソースを作成し、レスポンスを ResponseEntity として返します。 |
java.net.URI | postForLocation(java.lang.String url, java.lang.Object request, java.util.Map<java.lang.String,?> uriVariables) 指定されたオブジェクトを URI テンプレートに POST することにより新しいリソースを作成し、 Location ヘッダーの値を返します。 |
java.net.URI | postForLocation(java.lang.String url, java.lang.Object request, java.lang.Object... uriVariables) 指定されたオブジェクトを URI テンプレートに POST することにより新しいリソースを作成し、 Location ヘッダーの値を返します。 |
java.net.URI | postForLocation(java.net.URI url, java.lang.Object request) 指定されたオブジェクトを URL に POST して新しいリソースを作成し、 Location ヘッダーの値を返します。 |
<T> T | postForObject(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) 指定されたオブジェクトを URI テンプレートに POST して新しいリソースを作成し、レスポンスで見つかった表現を返します。 |
<T> T | postForObject(java.lang.String url, java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) 指定されたオブジェクトを URI テンプレートに POST して新しいリソースを作成し、レスポンスで見つかった表現を返します。 |
<T> T | postForObject(java.net.URI url, java.lang.Object request, java.lang.Class<T> responseType) 指定されたオブジェクトを URL に POST することで新しいリソースを作成し、レスポンスで見つかった表現を返します。 |
void | put(java.lang.String url, java.lang.Object request, java.util.Map<java.lang.String,?> uriVariables) 指定されたオブジェクトを URI テンプレートに PUT することにより、新しいリソースを作成します。 |
void | put(java.lang.String url, java.lang.Object request, java.lang.Object... uriVariables) 指定されたオブジェクトを URI に PUT することにより、リソースを作成または更新します。 |
void | put(java.net.URI url, java.lang.Object request) 指定されたオブジェクトを URL に PUT することにより、新しいリソースを作成します。 |
<T> ResponseExtractor<ResponseEntity<T>> | responseEntityExtractor(java.lang.reflect.Type responseType) ResponseEntity を準備する ResponseExtractor を返します。 |
void | setDefaultUriVariables(java.util.Map<java.lang.String,?> uriVars) デフォルトの URI 変数値を構成します。 |
void | setErrorHandler(ResponseErrorHandler errorHandler) エラーハンドラーを設定します。 |
void | setMessageConverters(java.util.List<HttpMessageConverter<?>> messageConverters) 使用するメッセージ本文コンバーターを設定します。 |
void | setUriTemplateHandler(UriTemplateHandler handler) URI テンプレートを展開するための戦略を構成します。 |
getInterceptors, getRequestFactory, setInterceptors, setRequestFactory
createRequest
public RestTemplate()
RestTemplate
の新しいインスタンスを作成します。デフォルトの HttpMessageConverters
が初期化されます。public RestTemplate(ClientHttpRequestFactory requestFactory)
ClientHttpRequestFactory
に基づいて、RestTemplate
の新しいインスタンスを作成します。requestFactory
- 使用する HTTP リクエストファクトリ SimpleClientHttpRequestFactory
, HttpComponentsClientHttpRequestFactory
public RestTemplate(java.util.List<HttpMessageConverter<?>> messageConverters)
HttpMessageConverter
の指定されたリストを使用して、RestTemplate
の新しいインスタンスを作成します。messageConverters
- 使用する HttpMessageConverter
のリスト public void setMessageConverters(java.util.List<HttpMessageConverter<?>> messageConverters)
これらのコンバーターは、HTTP リクエストとレスポンスの変換に使用されます。
public java.util.List<HttpMessageConverter<?>> getMessageConverters()
返された List
はアクティブで、追加される場合があります。
public void setErrorHandler(ResponseErrorHandler errorHandler)
デフォルトでは、RestTemplate は DefaultResponseErrorHandler
を使用します。
public ResponseErrorHandler getErrorHandler()
public void setDefaultUriVariables(java.util.Map<java.lang.String,?> uriVars)
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory(); handler.setDefaultUriVariables(...); RestTemplate restTemplate = new RestTemplate(); restTemplate.setUriTemplateHandler(handler);
uriVars
- デフォルトの URI 変数値 public void setUriTemplateHandler(UriTemplateHandler handler)
デフォルトでは、DefaultUriBuilderFactory
が使用され、後方互換性のために、エンコードモードは URI_COMPONENT
に設定されます。5.0.8 では、TEMPLATE_AND_VALUES
を使用することを優先します。
注意 : 5.0 では、使用するデフォルトとして DefaultUriTemplateHandler
(4.3 で非推奨)から DefaultUriBuilderFactory
への切り替えにより、parsePath
プロパティに異なるデフォルトが導入されます(false から true への切り替え)。
handler
- 使用する URI テンプレートハンドラー public UriTemplateHandler getUriTemplateHandler()
@Nullable public <T> T getForObject(java.lang.String url, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の getForObject
url
- URLresponseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
@Nullable public <T> T getForObject(java.lang.String url, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
RestOperations
の getForObject
url
- URLresponseType
- 戻り値の型 uriVariables
- URI テンプレートの変数を含むマップ RestClientException
@Nullable public <T> T getForObject(java.net.URI url, java.lang.Class<T> responseType) throws RestClientException
RestOperations
RestOperations
の getForObject
url
- URLresponseType
- 戻り値の型 RestClientException
public <T> ResponseEntity<T> getForEntity(java.lang.String url, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
ResponseEntity
に保存されます。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の getForEntity
url
- URLresponseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
public <T> ResponseEntity<T> getForEntity(java.lang.String url, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
ResponseEntity
に保存されます。URI テンプレート変数は、指定されたマップを使用して展開されます。
RestOperations
の getForEntity
url
- URLresponseType
- 戻り値の型 uriVariables
- URI テンプレートの変数を含むマップ RestClientException
public <T> ResponseEntity<T> getForEntity(java.net.URI url, java.lang.Class<T> responseType) throws RestClientException
RestOperations
ResponseEntity
に保存されます。RestOperations
の getForEntity
url
- URLresponseType
- 戻り値の型 RestClientException
public HttpHeaders headForHeaders(java.lang.String url, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の headForHeaders
url
- URLuriVariables
- テンプレートを展開する変数 RestClientException
public HttpHeaders headForHeaders(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
RestOperations
の headForHeaders
url
- URLuriVariables
- URI テンプレートの変数を含むマップ RestClientException
public HttpHeaders headForHeaders(java.net.URI url) throws RestClientException
RestOperations
RestOperations
の headForHeaders
url
- URLRestClientException
@Nullable public java.net.URI postForLocation(java.lang.String url, @Nullable java.lang.Object request, java.lang.Object... uriVariables) throws RestClientException
RestOperations
Location
ヘッダーの値を返します。このヘッダーは通常、新しいリソースが保存されている場所を示します。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForLocation
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 Location
ヘッダーの値 RestClientException
HttpEntity
@Nullable public java.net.URI postForLocation(java.lang.String url, @Nullable java.lang.Object request, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
Location
ヘッダーの値を返します。このヘッダーは通常、新しいリソースが保存されている場所を示します。URI テンプレート変数は、指定されたマップを使用して展開されます。
request
パラメーターは、追加の HTTP ヘッダーをリクエストに追加するために HttpEntity
にすることができます
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForLocation
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 Location
ヘッダーの値 RestClientException
HttpEntity
@Nullable public java.net.URI postForLocation(java.net.URI url, @Nullable java.lang.Object request) throws RestClientException
RestOperations
Location
ヘッダーの値を返します。このヘッダーは通常、新しいリソースが保存されている場所を示します。 リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForLocation
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)Location
ヘッダーの値 RestClientException
HttpEntity
@Nullable public <T> T postForObject(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForObject
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
@Nullable public <T> T postForObject(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForObject
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
@Nullable public <T> T postForObject(java.net.URI url, @Nullable java.lang.Object request, java.lang.Class<T> responseType) throws RestClientException
RestOperations
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForObject
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)responseType
- 戻り値の型 RestClientException
HttpEntity
public <T> ResponseEntity<T> postForEntity(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
ResponseEntity
として返します。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForEntity
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
public <T> ResponseEntity<T> postForEntity(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
HttpEntity
として返します。URI テンプレート変数は、指定されたマップを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForEntity
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
public <T> ResponseEntity<T> postForEntity(java.net.URI url, @Nullable java.lang.Object request, java.lang.Class<T> responseType) throws RestClientException
RestOperations
ResponseEntity
として返します。 リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
エンティティの本体、または request
自体を MultiValueMap
にして、マルチパートリクエストを作成できます。MultiValueMap
の値は、パーツのボディを表す任意のオブジェクト、またはボディとヘッダーを持つパーツを表す HttpEntity
です。MultiValueMap
は、MultipartBodyBuilder
を使用して簡単に構築できます。
RestOperations
の postForEntity
url
- URLrequest
- POST されるオブジェクト (null
の場合があります)RestClientException
HttpEntity
public void put(java.lang.String url, @Nullable java.lang.Object request, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
RestOperations
の put
url
- URLrequest
- PUT されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
public void put(java.lang.String url, @Nullable java.lang.Object request, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
RestOperations
の put
url
- URLrequest
- PUT されるオブジェクト (null
の場合があります)uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
public void put(java.net.URI url, @Nullable java.lang.Object request) throws RestClientException
RestOperations
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
RestOperations
の put
url
- URLrequest
- PUT されるオブジェクト (null
の場合があります)RestClientException
HttpEntity
@Nullable public <T> T patchForObject(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
NOTE: 標準の JDK HTTP ライブラリは HTTP PATCH をサポートしていません。Apache HttpComponents または OkHttp リクエストファクトリを使用する必要があります。
RestOperations
の patchForObject
url
- URLrequest
- パッチされるオブジェクト (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
, InterceptingHttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory)
, HttpComponentsAsyncClientHttpRequestFactory
, OkHttp3ClientHttpRequestFactory
@Nullable public <T> T patchForObject(java.lang.String url, @Nullable java.lang.Object request, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
NOTE: 標準の JDK HTTP ライブラリは HTTP PATCH をサポートしていません。Apache HttpComponents または OkHttp リクエストファクトリを使用する必要があります。
RestOperations
の patchForObject
url
- URLrequest
- パッチされるオブジェクト (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートを展開する変数 RestClientException
HttpEntity
, InterceptingHttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory)
, HttpComponentsAsyncClientHttpRequestFactory
, OkHttp3ClientHttpRequestFactory
@Nullable public <T> T patchForObject(java.net.URI url, @Nullable java.lang.Object request, java.lang.Class<T> responseType) throws RestClientException
RestOperations
リクエストに追加の HTTP ヘッダーを追加するには、request
パラメーターを HttpEntity
にすることができます。
NOTE: 標準の JDK HTTP ライブラリは HTTP PATCH をサポートしていません。Apache HttpComponents または OkHttp リクエストファクトリを使用する必要があります。
RestOperations
の patchForObject
url
- URLrequest
- パッチされるオブジェクト (null
の場合があります)responseType
- 戻り値の型 RestClientException
HttpEntity
, InterceptingHttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory)
, HttpComponentsAsyncClientHttpRequestFactory
, OkHttp3ClientHttpRequestFactory
public void delete(java.lang.String url, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の delete
url
- URLuriVariables
- テンプレートで展開する変数 RestClientException
public void delete(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
RestOperations
の delete
url
- URLuriVariables
- テンプレートを展開する変数 RestClientException
public void delete(java.net.URI url) throws RestClientException
RestOperations
RestOperations
の delete
url
- URLRestClientException
public java.util.Set<HttpMethod> optionsForAllow(java.lang.String url, java.lang.Object... uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の optionsForAllow
url
- URLuriVariables
- テンプレートで展開する変数 RestClientException
public java.util.Set<HttpMethod> optionsForAllow(java.lang.String url, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
URI テンプレート変数は、指定されたマップを使用して展開されます。
RestOperations
の optionsForAllow
url
- URLuriVariables
- テンプレートで展開する変数 RestClientException
public java.util.Set<HttpMethod> optionsForAllow(java.net.URI url) throws RestClientException
RestOperations
RestOperations
の optionsForAllow
url
- URLRestClientException
public <T> ResponseEntity<T> exchange(java.lang.String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, java.lang.Class<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
ResponseEntity
として返します。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文)は null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートで展開する変数 RestClientException
public <T> ResponseEntity<T> exchange(java.lang.String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, java.lang.Class<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
ResponseEntity
として返します。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文) (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートで展開する変数 RestClientException
public <T> ResponseEntity<T> exchange(java.net.URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, java.lang.Class<T> responseType) throws RestClientException
RestOperations
ResponseEntity
として返します。RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文) (null
の場合があります)responseType
- 戻り値の型 RestClientException
public <T> ResponseEntity<T> exchange(java.lang.String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, java.lang.Object... uriVariables) throws RestClientException
RestOperations
ResponseEntity
として返します。指定された ParameterizedTypeReference
は、一般的な型情報を渡すために使用されます。ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {}; ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文) (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートで展開する変数 RestClientException
public <T> ResponseEntity<T> exchange(java.lang.String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RestOperations
ResponseEntity
として返します。指定された ParameterizedTypeReference
は、一般的な型情報を渡すために使用されます。ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {}; ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文) (null
の場合があります)responseType
- 戻り値の型 uriVariables
- テンプレートで展開する変数 RestClientException
public <T> ResponseEntity<T> exchange(java.net.URI url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) throws RestClientException
RestOperations
ResponseEntity
として返します。指定された ParameterizedTypeReference
は、一般的な型情報を渡すために使用されます。ParameterizedTypeReference<List<MyBean>> myBean = new ParameterizedTypeReference<List<MyBean>>() {}; ResponseEntity<List<MyBean>> response = template.exchange("http://example.com",HttpMethod.GET, null, myBean);
RestOperations
の exchange
url
- URLmethod
- HTTP メソッド (GET、POST など)requestEntity
- リクエストに書き込むエンティティ(ヘッダーおよび / または本文) (null
の場合があります)responseType
- 戻り値の型 RestClientException
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, java.lang.Class<T> responseType) throws RestClientException
RestOperations
RequestEntity
で指定されたリクエストを実行し、レスポンスを ResponseEntity
として返します。通常、たとえば RequestEntity
の静的ビルダーメソッドと組み合わせて使用されます。MyRequest body = ... RequestEntity request = RequestEntity .post(new URI("http://example.com/foo")) .accept(MediaType.APPLICATION_JSON) .body(body); ResponseEntity<MyResponse> response = template.exchange(request, MyResponse.class);
RestOperations
の exchange
requestEntity
- リクエストに書き込むエンティティ responseType
- 戻り値の型 RestClientException
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType) throws RestClientException
RestOperations
RequestEntity
で指定されたリクエストを実行し、レスポンスを ResponseEntity
として返します。指定された ParameterizedTypeReference
は、一般的な型情報を渡すために使用されます。MyRequest body = ... RequestEntity request = RequestEntity .post(new URI("http://example.com/foo")) .accept(MediaType.APPLICATION_JSON) .body(body); ParameterizedTypeReference<List<MyResponse>> myBean = new ParameterizedTypeReference<List<MyResponse>>() {}; ResponseEntity<List<MyResponse>> response = template.exchange(request, myBean);
RestOperations
の exchange
requestEntity
- リクエストに書き込むエンティティ responseType
- 戻り値の型 RestClientException
@Nullable public <T> T execute(java.lang.String url, HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor<T> responseExtractor, java.lang.Object... uriVariables) throws RestClientException
RequestCallback
を使用してリクエストを準備し、ResponseExtractor
を使用してレスポンスを読み取ります。URI テンプレート変数は、指定された URI 変数があればそれを使用して展開されます。
RequestCallback
または ResponseExtractor
のみを提供し、両方ではない場合は、次の使用を検討してください。
RestOperations
の execute
url
- URLmethod
- HTTP メソッド (GET、POST など)requestCallback
- リクエストを準備するオブジェクト responseExtractor
- レスポンスから戻り値を抽出するオブジェクト uriVariables
- テンプレートで展開する変数 ResponseExtractor
によって返される任意のオブジェクト RestClientException
@Nullable public <T> T execute(java.lang.String url, HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor<T> responseExtractor, java.util.Map<java.lang.String,?> uriVariables) throws RestClientException
RequestCallback
を使用してリクエストを準備し、ResponseExtractor
を使用してレスポンスを読み取ります。URI テンプレート変数は、指定された URI 変数マップを使用して展開されます。
RequestCallback
または ResponseExtractor
のみを提供し、両方ではない場合は、次の使用を検討してください。
RestOperations
の execute
url
- URLmethod
- HTTP メソッド (GET、POST など)requestCallback
- リクエストを準備するオブジェクト responseExtractor
- レスポンスから戻り値を抽出するオブジェクト uriVariables
- テンプレートで展開する変数 ResponseExtractor
によって返される任意のオブジェクト RestClientException
@Nullable public <T> T execute(java.net.URI url, HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor<T> responseExtractor) throws RestClientException
RequestCallback
を使用してリクエストを準備し、ResponseExtractor
を使用してレスポンスを読み取ります。RequestCallback
または ResponseExtractor
のみを提供し、両方ではない場合は、次の使用を検討してください。
RestOperations
の execute
url
- URLmethod
- HTTP メソッド (GET、POST など)requestCallback
- リクエストを準備するオブジェクト responseExtractor
- レスポンスから戻り値を抽出するオブジェクト ResponseExtractor
によって返される任意のオブジェクト RestClientException
@Nullable protected <T> T doExecute(java.net.URI url, @Nullable HttpMethod method, @Nullable RequestCallback requestCallback, @Nullable ResponseExtractor<T> responseExtractor) throws RestClientException
ClientHttpRequest
は RequestCallback
を使用して処理されます。ResponseExtractor
を使用したレスポンス。
url
- 接続する完全に展開された URLmethod
- 実行する HTTP メソッド (GET、POST など)requestCallback
- リクエストを準備するオブジェクト (null
にすることができます)responseExtractor
- レスポンスから戻り値を抽出するオブジェクト (null
にすることができます)ResponseExtractor
によって返される任意のオブジェクト RestClientException
protected void handleResponse(java.net.URI url, HttpMethod method, ClientHttpResponse response) throws java.io.IOException
ResponseErrorHandler
を呼び出します。サブクラスでオーバーライドできます。
url
- 接続する完全に展開された URLmethod
- 実行する HTTP メソッド (GET、POST など)response
- 結果の ClientHttpResponse
java.io.IOException
- ResponseErrorHandler
から伝播された場合 setErrorHandler(org.springframework.web.client.ResponseErrorHandler)
public <T> RequestCallback acceptHeaderRequestCallback(java.lang.Class<T> responseType)
Accept
ヘッダーを設定する RequestCallback
を返し、構成されたメッセージコンバーターと照合します。public <T> RequestCallback httpEntityCallback(@Nullable java.lang.Object requestBody)
RequestCallback
実装を返します。public <T> RequestCallback httpEntityCallback(@Nullable java.lang.Object requestBody, java.lang.reflect.Type responseType)
RequestCallback
実装を返します。Accept
ヘッダーを設定します。public <T> ResponseExtractor<ResponseEntity<T>> responseEntityExtractor(java.lang.reflect.Type responseType)
ResponseEntity
を準備する ResponseExtractor
を返します。protected ResponseExtractor<HttpHeaders> headersExtractor()
HttpHeaders
のレスポンス抽出プログラムを返します。