このプロジェクトでは、会ったゲートウェイゲートウェイルーティングサービスがダウンしているが、最終的に吹きリダイレクトに行きませんでした。
ゲートウェイは中application.ymlで設定ファイルがあります。
フィルター:
- RewritePath = / olesellercenter /(?<セグメント> *)/ $ \ {セグメント}
#ルーティング書き換え
- 名前: Hystrix
#ヒューズフィルタ
引数:
名前: fallbackCmd
#Javaの命名規則に準拠
fallbackUri:フォワード:/フォールバック/ serviceFailurePage
#サーバーへのアクセスが失敗し、リダイレクトされており、そこに融合します
サービスがダウンした場合、ヒューズの設定、ルート、サービスが吹き飛ばされるほどです。次のように自分のコントローラは、転送を処理してください:
@RestController
@RequestMapping ("/フォールバック" )
パブリック クラス FallbackController {
@GetMapping ( "/ sellercenter" )
パブリック文字列フォールバック(){
リターン「マーチャント・サービスは、後でもう一度試してくださいビジー状態です」。
}
}
しかし、実際には、非常に奇妙な質問で報告され、それが、私たちは、つまり、サービスがダウンしている場合は、要求GETメソッドを扱うことができるということです
ゲートウェイを行くための方法、アクセスサービスをGET、機構が融合します
、「ビジー状態である、後ほど再度お試しくださいマーチャント・サービス」を報告したが、POSTメソッド要求されますが、私は困惑して、吹き飛ばされることはありません。
私はそこGetMappingコントローラーだったので、次にこのことについて考えます
マップされました。その理由は、その後PostMappingマップを追加し、PostMappingマッピング結果の欠如ではない、それは本当に問題を解決しました。
すなわち:
@RestController
@RequestMapping ("/フォールバック" )
パブリック クラス FallbackController {
@GetMapping ( "/ sellercenter" )
パブリック文字列フォールバック(){
リターン「マーチャント・サービスは、後でもう一度試してくださいビジー状態です」。
}
@PostMapping ( "/ sellercenter" )
パブリック文字列postFallback(){
リターン「マーチャント・サービスは、後でもう一度試してくださいビジー状態です」。
}
}
その後、それについて考える:この時点では、サービス、サービスのダウンタイム、ゲートウェイ経由の道を投稿するゲートウェイへのアクセスがリダイレクトされます場合は、吹き飛ばされ、
ポストヒューズを取るために、クライアントの要求になります、と彼のハンドラは方法でコントローラのマッピングメカニズムをPostMappingていなかったので、POSTリクエストが表示されます吹いて行きません。
オンライン多くの情報を読んで、多くの同様の問題があり、この記事を見て、小さなパートナーの同じ問題を抱えているにしたい、あなたはあなたの問題を解決することができます!!!