インターフェース ReactiveVaultClient.ResponseSpec
- 含まれているインターフェース:
- ReactiveVaultClient
public static interface ReactiveVaultClient.ResponseSpec
交換後のレスポンス操作を指定するための契約。
方法の概要
修飾子と型メソッド説明body()本体をVaultResponseにデコードします。<T> Flux<T>bodyToFlux(ClassSE<T> elementClass) 指定された型の要素を持つFluxに本体をデコードします。<T> Flux<T>bodyToFlux(ParameterizedTypeReference<T> elementTypeRef) ParameterizedTypeReferenceを使用したbodyToFlux(Class)のバリアント。<T> Mono<T>bodyToMono(ClassSE<T> elementClass) 本体を指定されたターゲット型にデコードします。<T> Mono<T>bodyToMono(ParameterizedTypeReference<T> elementTypeRef) ParameterizedTypeReferenceを使用したbodyToMono(Class)のバリアント。onStatus(PredicateSE<HttpStatusCode> statusPredicate, FunctionSE<ClientResponse, Mono<? extends ThrowableSE>> exceptionFunction) 特定のエラーステータスコードをエラーシグナルにマップして、レスポンスではなく下流に伝搬する関数を提供します。本体なしでResponseEntityを返します。<T> Mono<ResponseEntity<T>>指定された型のオブジェクトにデコードされた本体を持つResponseEntityを返します。<T> Mono<ResponseEntity<T>>toEntity(ParameterizedTypeReference<T> bodyTypeRef) ParameterizedTypeReferenceを使用したtoEntity(Class)のバリアント。<T> Mono<ResponseEntity<Flux<T>>>toEntityFlux(ClassSE<T> elementType) 指定された型の要素のFluxに本体がデコードされたResponseEntityを返します。<T> Mono<ResponseEntity<Flux<T>>>toEntityFlux(ParameterizedTypeReference<T> elementTypeRef) ParameterizedTypeReferenceを使用したtoEntityFlux(Class)のバリアント。<T> Mono<ResponseEntity<ListSE<T>>>toEntityList(ClassSE<T> elementClass) 指定された型の要素のListに本体がデコードされたResponseEntityを返します。<T> Mono<ResponseEntity<ListSE<T>>>toEntityList(ParameterizedTypeReference<T> elementTypeRef) ParameterizedTypeReferenceを使用したtoEntityList(Class)のバリアント。wrap(DurationSE ttl) リクエストされた TTL を持つ cubbyhole トークンでレスポンスをラップします。
メソッドの詳細
onStatus
ReactiveVaultClient.ResponseSpec onStatus(PredicateSE<HttpStatusCode> statusPredicate, FunctionSE<ClientResponse, Mono<? extends ThrowableSE>> exceptionFunction) 特定のエラーステータスコードをエラーシグナルにマップして、レスポンスではなく下流に伝搬する関数を提供します。デフォルトでは、一致するステータスハンドラーがない場合、ステータスコードが 400 以上のレスポンスは、
ClientResponse.createException()で作成されたVaultClientResponseExceptionにマップされます。エラーとしてのステータスコードの処理を抑制し、それを通常のレスポンスとして処理するには、関数から
Mono.empty()を返します。その後、レスポンスはダウンストリームに伝搬されて処理されます。エラーレスポンスを完全に無視し、レスポンスもエラーも伝播しないようにするには、
filterを使用するか、onErrorResumeダウンストリームを追加します。例:webClient.get() .path("https://abc.com/account/123") .retrieve() .bodyToMono(Account.class) .onErrorResume(VaultClientResponseException.class, ex -> ex.getStatusCode().value() == 404 ? Mono.empty() : Mono.error(ex));- パラメーター:
statusPredicate- レスポンスを一致させるexceptionFunction- レスポンスをエラーシグナルにマッピングする- 戻り値:
- このビルダー
- 関連事項:
wrap
リクエストされた TTL を持つ cubbyhole トークンでレスポンスをラップします。- パラメーター:
ttl- ラップされたレスポンスの存続時間。- 戻り値:
- トークンとラップされたレスポンスのメタデータを提供する cubbyhole
WrappedMetadata。 - 例外:
VaultClientResponseException- ステータスコードが 4xx または 5xx のレスポンスを受信した場合。IllegalStateExceptionSE- レスポンスボディが利用できない場合。
body
Mono<VaultResponse> body()ボディをデコードしてVaultResponseを取得します。エラーレスポンス(ステータスコードが 4xx または 5xx)の場合、MonoはVaultExceptionを出力します。エラーレスポンスの処理をカスタマイズするには、onStatus(Predicate, Function)を使用します。- 戻り値:
- レスポンスボディ、またはレスポンスボディが利用できない場合は
null。 - 例外:
VaultClientResponseException- ステータスコードが 4xx または 5xx のレスポンスを受信した場合。
bodyToMono
本体を指定されたターゲット型にデコードします。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを発行します。onStatus(Predicate, Function)を使用して、エラーレスポンス処理をカスタマイズします。- 型パラメーター:
T- ゴールとする体型。- パラメーター:
elementClass- デコード先の型。- 戻り値:
- 解読されたボディ。
bodyToMono
ParameterizedTypeReferenceを使用したbodyToMono(Class)のバリアント。- 型パラメーター:
T- 対象の体型- パラメーター:
elementTypeRef- デコードする型- 戻り値:
- デコードされた本体
bodyToFlux
指定された型の要素を含むFluxにボディをデコードします。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを出力します。エラーレスポンスの処理をカスタマイズするには、onStatus(Predicate, Function)を使用します。- 型パラメーター:
T- the body element type.- パラメーター:
elementClass- the type of element to decode to.- 戻り値:
- 解読されたボディ。
bodyToFlux
ParameterizedTypeReferenceを使用したbodyToFlux(Class)のバリアント。- 型パラメーター:
T- the body element type.- パラメーター:
elementTypeRef- the type of element to decode to.- 戻り値:
- 解読されたボディ。
toEntity
指定された型のオブジェクトにデコードされた本体を持つResponseEntityを返します。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを発行します。onStatus(Predicate, Function)を使用して、エラーレスポンス処理をカスタマイズします。- 型パラメーター:
T- response body type.- パラメーター:
bodyClass- the expected response body type.- 戻り値:
- 復号された本体を持つ
ResponseEntity。
toEntity
ParameterizedTypeReferenceを使用したtoEntity(Class)のバリアント。- 型パラメーター:
T- the response body type.- パラメーター:
bodyTypeRef- the expected response body type.- 戻り値:
- 復号された本体を持つ
ResponseEntity。
toEntityList
指定された型の要素のListに本体がデコードされたResponseEntityを返します。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを発行します。onStatus(Predicate, Function)を使用して、エラーレスポンス処理をカスタマイズします。- 型パラメーター:
T- the body element type.- パラメーター:
elementClass- the type of element to decode the target Flux to.- 戻り値:
ResponseEntity
toEntityList
ParameterizedTypeReferenceを使用したtoEntityList(Class)のバリアント。- 型パラメーター:
T- the body element type.- パラメーター:
elementTypeRef- ターゲット Flux をデコードする要素の型- 戻り値:
ResponseEntity
toEntityFlux
指定された型の要素のFluxに本体がデコードされたResponseEntityを返します。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを発行します。onStatus(Predicate, Function)を使用して、エラーレスポンス処理をカスタマイズします。注意 : 本体を表す
Fluxはサブスクライブする必要があります。サブスクライブしないと、関連するリソースが解放されません。- 型パラメーター:
T- the body element type.- パラメーター:
elementType- the type of element to decode the target Flux to.- 戻り値:
ResponseEntity
toEntityFlux
ParameterizedTypeReferenceを使用したtoEntityFlux(Class)のバリアント。- 型パラメーター:
T- the body element type.- パラメーター:
elementTypeRef- the type of element to decode the target Flux to.- 戻り値:
ResponseEntity
toBodilessEntity
Mono<ResponseEntity<VoidSE>> toBodilessEntity()本体なしでResponseEntityを返します。エラーレスポンス(ステータスコード 4xx または 5xx)の場合、MonoはVaultClientResponseExceptionを発行します。onStatus(Predicate, Function)を使用して、エラーレスポンス処理をカスタマイズします。- 戻り値:
ResponseEntity