インターフェース 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セットのリストを設定します。指定された名前の属性に指定された値を設定します。attributes
(ConsumerSE<MapSE<StringSE, ObjectSE>> attributesConsumer) これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。指定された名前と値で Cookie を追加します。cookies
(ConsumerSE<MultiValueMap<StringSE, StringSE>> cookiesConsumer) これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。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()
取得ワークフローを入力し、返されたRestClient.ResponseSpec
を使用して、いくつかの組み込みオプションから選択し、レスポンスを抽出します。
メソッドの詳細
accept
Accept
ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。- パラメーター:
acceptableMediaTypes
- 許容されるメディア型- 戻り値:
- このビルダー
acceptCharset
Accept-Charset
ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。- パラメーター:
acceptableCharsets
- 許容される文字セット- 戻り値:
- このビルダー
cookie
指定された名前と値で Cookie を追加します。- パラメーター:
name
- クッキー名value
- クッキー値- 戻り値:
- このビルダー
- 導入:
- 6.2
cookies
これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。- パラメーター:
cookiesConsumer
- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
- 導入:
- 6.2
ifModifiedSince
If-Modified-Since
ヘッダーの値を設定します。- パラメーター:
ifModifiedSince
- ヘッダーの新しい値- 戻り値:
- このビルダー
ifNoneMatch
If-None-Match
ヘッダーの値を設定します。- パラメーター:
ifNoneMatches
- ヘッダーの新しい値- 戻り値:
- このビルダー
header
指定された名前に、指定された単一のヘッダー値を追加します。- パラメーター:
headerName
- ヘッダー名headerValues
- ヘッダー値- 戻り値:
- このビルダー
headers
これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。- パラメーター:
headersConsumer
- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
attribute
指定された名前の属性に指定された値を設定します。- パラメーター:
name
- 追加する属性の名前value
- 追加する属性の値- 戻り値:
- このビルダー
- 導入:
- 6.2
attributes
これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。- パラメーター:
attributesConsumer
- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
- 導入:
- 6.2
httpRequest
ClientHttpRequest
へのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。これは、基礎となるライブラリによって公開される高度なリクエストごとのオプションを設定する場合に便利です。
- パラメーター:
requestConsumer
-ClientHttpRequest
にアクセスするコンシューマー- 戻り値:
- このビルダー
retrieve
取得ワークフローを入力し、返されたRestClient.ResponseSpec
を使用して、いくつかの組み込みオプションから選択し、レスポンスを抽出します。例: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);
このメソッドは、返されたRestClient.ResponseSpec
のいずれかを呼び出すまで、実際にはリクエストを実行しないことに注意してください。リクエストの実行とレスポンスの抽出を分離する必要がある場合は、exchange(ExchangeFunction)
バリアントを使用します。デフォルトでは、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
- 戻り値:
- 交換関数から返された値