概要 エラーのレスポンス形式を制御したい、というのはよくある要望だと思うのですが、エラーのうちでも特にサービスメソッドに到達する前に(HTTPトランスポートで)発生するエラーをカスタマイズする方法を扱います。 たとえば、入力時のバリデーションで Bad Request が発生した場合や、なんらかのエラーが発生して起こる Internal Server Error に対してエラーの形式を制御します。 Goa での議論 github.com ここで議論されて修正が入りました。 で、どうやるの? やり方は以下です: カスタムエラーのフォーマッタを用意する 作成したフォーマッタをサービスの Server を New するときにセットする 1. カスタムエラーのフォーマッタを用意する func(err error) goahttp.Statuser を満たす関数を用意します。ここで返値になっている