インターフェース RestClient.RequestHeadersSpec<S extends RestClient.RequestHeadersSpec<S>>
- 型パラメーター:
S
- 仕様型への自己参照
- すべての既知のサブインターフェース:
RestClient.RequestBodySpec
、RestClient.RequestBodyUriSpec
、RestClient.RequestHeadersUriSpec<S>
- 含まれているインターフェース:
- RestClient
public static interface RestClient.RequestHeadersSpec<S extends RestClient.RequestHeadersSpec<S>>
交換に至るまでのリクエストヘッダーを指定するための契約。
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static interface
ボディをコンバートできるClientHttpResponse
のエクステンション。static interface
exchange(ExchangeFunction)
の契約を定義します。メソッドのサマリー
修飾子と型メソッド説明Accept
ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。acceptCharset
(CharsetSE... acceptableCharsets) Accept-Charset
ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。default <T> T
exchange
(RestClient.RequestHeadersSpec.ExchangeFunction<T> exchangeFunction) ClientHttpResponse
を型T
に交換します。<T> T
exchange
(RestClient.RequestHeadersSpec.ExchangeFunction<T> exchangeFunction, boolean close) ClientHttpResponse
を型T
に交換します。指定された名前に、指定された単一のヘッダー値を追加します。headers
(ConsumerSE<HttpHeaders> headersConsumer) これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。httpRequest
(ConsumerSE<ClientHttpRequest> requestConsumer) ClientHttpRequest
へのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。ifModifiedSince
(ZonedDateTimeSE ifModifiedSince) If-Modified-Since
ヘッダーの値を設定します。ifNoneMatch
(StringSE... ifNoneMatches) If-None-Match
ヘッダーの値を設定します。retrieve()
レスポンスを抽出する方法の宣言に進みます。
メソッドの詳細
accept
Accept
ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。- パラメーター:
acceptableMediaTypes
- 許容されるメディア型- 戻り値:
- このビルダー
acceptCharset
Accept-Charset
ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。- パラメーター:
acceptableCharsets
- 許容される文字セット- 戻り値:
- このビルダー
ifModifiedSince
If-Modified-Since
ヘッダーの値を設定します。- パラメーター:
ifModifiedSince
- ヘッダーの新しい値- 戻り値:
- このビルダー
ifNoneMatch
If-None-Match
ヘッダーの値を設定します。- パラメーター:
ifNoneMatches
- ヘッダーの新しい値- 戻り値:
- このビルダー
header
指定された名前に、指定された単一のヘッダー値を追加します。- パラメーター:
headerName
- ヘッダー名headerValues
- ヘッダー値- 戻り値:
- このビルダー
headers
これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。- パラメーター:
headersConsumer
- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
httpRequest
ClientHttpRequest
へのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。これは、基礎となるライブラリによって公開される高度なリクエストごとのオプションを設定する場合に便利です。
- パラメーター:
requestConsumer
-ClientHttpRequest
にアクセスするコンシューマー- 戻り値:
- このビルダー
retrieve
RestClient.ResponseSpec retrieve()レスポンスを抽出する方法の宣言に進みます。たとえば、ステータス、ヘッダー、本文を含むResponseEntity
を抽出するには、次のようにします。ResponseEntity<Person> entity = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .toEntity(Person.class);
または体だけに興味がある場合:
Person person = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .body(Person.class);
デフォルトでは、4xx レスポンスコードは
HttpClientErrorException
になり、5xx レスポンスコードはHttpServerErrorException
になります。エラー処理をカスタマイズするには、onStatus
ハンドラーを使用します。- 戻り値:
ResponseSpec
は、本文のデコード方法を指定します
exchange
@Nullable default <T> T exchange(RestClient.RequestHeadersSpec.ExchangeFunction<T> exchangeFunction) ClientHttpResponse
を型T
に交換します。これは、レスポンスステータスに応じて異なる方法でレスポンスをデコードするなど、高度なシナリオで役立ちます。Person person = client.get() .uri("/people/1") .accept(MediaType.APPLICATION_JSON) .exchange((request, response) -> { if (response.getStatusCode().equals(HttpStatus.OK)) { return deserialize(response.getBody()); } else { throw new BusinessException(); } });
注 : 交換関数が呼び出された後、レスポンスは閉じられます。
- 型パラメーター:
T
- レスポンスが変換される型- パラメーター:
exchangeFunction
- レスポンスを処理する関数- 戻り値:
- 交換関数から返された値
exchange
@Nullable <T> T exchange(RestClient.RequestHeadersSpec.ExchangeFunction<T> exchangeFunction, boolean close) ClientHttpResponse
を型T
に交換します。これは、レスポンスステータスに応じて異なる方法でレスポンスをデコードするなど、高度なシナリオで役立ちます。Person person = client.get() .uri("/people/1") .accept(MediaType.APPLICATION_JSON) .exchange((request, response) -> { if (response.getStatusCode().equals(HttpStatus.OK)) { return deserialize(response.getBody()); } else { throw new BusinessException(); } });
注 :
close
がtrue
の場合、レスポンスは交換関数が呼び出された後に閉じられます。false
に設定すると、呼び出し元はレスポンスを閉じる責任があります。- 型パラメーター:
T
- レスポンスが変換される型- パラメーター:
exchangeFunction
- レスポンスを処理する関数close
-exchangeFunction
が呼び出された後にレスポンスを閉じるにはtrue
、レスポンスを開いたままにするにはfalse
- 戻り値:
- 交換関数から返された値