[golang]Echo APIのErrorメッセージをカスタマイズする

こんにちは。KOUKIです。

とある企業でGo言語を使ったシステム開発業務に従事しています。

本日は、Errorメッセージのカスタマイズについて、記事にしました。

具体的には、以下のようなことをします。

カスタム前
カスタム後

前提条件

Mac OS上で動かしています。

ワークスペースの作成

ワークスペースを作成しましょう。

補足: go mod initに失敗する場合

「go mod init」コマンドで初期化に失敗する場合は、terminal上で「export GO111MODULE=on」を実行してください。

Echoサーバーの作成

golangのWebフレームワークの一つである「Echo」を使って、Webサーバーを作成します。main.goを以下のように編集してください。

以下のコマンドで、Echoサーバーを立ち上げてください。

ブラウザから「localhost:1323」にアクセスします。

JSON形式で値を返すようにしたので、上記のように表示されます。

カスタムエラーメッセージ

さて、カスタムエラーメッセージを作成しましょう。

Error structを作る

最初にエラーメッセージを格納するError Structを作ります。

これは、以下のように使います。

結果は、次のようになります。

エラーメッセージを表示できるようになりました。

エラーメッセージを構造化する

続いて、先ほどのエラーメッセージを構造化してみましょう。

Go言語では、Structの中にStructを入れることで、構造化できます。

実行結果は、以下のようになりました。

複数のエラーを受け取る(オプション)

オプションとして、複数のエラーを受け取れるようにしてみましょう。

「…error」の「…」は、引数をいくらでも受け取れるようにするためのものです

以下のように使うことができます。

これで、いくらでもエラーメッセーを放り込むことができますね。

おわりに

簡単ですが、以上です。

基本的にはデフォルトのエラーメッセージを返せばOKだと思いますが、運用などで「こんなエラーが返して欲しい」などの要望があった時、エラーメッセージをカスタマイズできれば便利ですよね。

それでは、また!

おすすめ書籍

コメントを残す