FallbackHeaders
GatewayFilter
ファクトリ
FallbackHeaders
ファクトリでは、次のシナリオのように、外部アプリケーションの fallbackUri
に転送されるリクエストのヘッダーに Spring Cloud CircuitBreaker 実行例外の詳細を追加できます。
application.yml
spring:
cloud:
gateway:
routes:
- id: ingredients
uri: lb://ingredients
predicates:
- Path=//ingredients/**
filters:
- name: CircuitBreaker
args:
name: fetchIngredients
fallbackUri: forward:/fallback
- id: ingredients-fallback
uri: http://localhost:9994
predicates:
- Path=/fallback
filters:
- name: FallbackHeaders
args:
executionExceptionTypeHeaderName: Test-Header
この例では、サーキットブレーカーの実行中に実行例外が発生した後、リクエストは localhost:9994
で実行されているアプリケーションの fallback
エンドポイントまたはハンドラーに転送されます。例外型、メッセージ、(利用可能な場合)根本原因の例外型とメッセージを含むヘッダーは、FallbackHeaders
フィルターによってそのリクエストに追加されます。
次の引数の値を設定することにより、構成内のヘッダーの名前を上書きできます(デフォルト値で示されています)。
executionExceptionTypeHeaderName
("Execution-Exception-Type"
)executionExceptionMessageHeaderName
("Execution-Exception-Message"
)rootCauseExceptionTypeHeaderName
("Root-Cause-Exception-Type"
)rootCauseExceptionMessageHeaderName
("Root-Cause-Exception-Message"
)
サーキットブレーカーとゲートウェイの詳細については、Spring Cloud CircuitBreaker ファクトリセクションを参照してください。