インターフェース 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 interfaceexchange(ExchangeFunction)の契約を定義します。メソッドのサマリー
修飾子と型メソッド説明Acceptヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。acceptCharset(CharsetSE... acceptableCharsets) Accept-Charsetヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。default <T> Texchange(RestClient.RequestHeadersSpec.ExchangeFunction<T> exchangeFunction) ClientHttpResponseを型Tに交換します。<T> Texchange(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
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
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- 戻り値:
- 交換関数から返された値