概要 以前 christina04.hatenablog.com こちらの記事で、アプリケーション内でのレイヤ間のエラーハンドリングについてまとめました。 ではマイクロサービス間でそのエラーコードを伝播していくのはどうすれば良いのか、というのが今回の主題です。 課題 gRPCはレスポンスコードを持っています。 しかしこれだけでは下記のようなケースをハンドリングできません。 フォームのvalidationエラーを伝える際に、どのフィールドの不備が原因か カード決済時のエラーで、カードの何が問題でエラーが起きているのか このような詳細なエラーをクライアントに伝えられない場合、クライアントは抽象的なエラー文言しかユーザに出せず、結果としてユーザは問題を解決することができなくなります。 解決案1) エラー文言をparse gRPCは以下のようにレスポンスコード以外にもメッセージ(文字列)を返すこと