1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Go】Ginのvalidationが失敗時に400を返すって言って聞かないので、抜け道を探した話

Last updated at Posted at 2017-12-16

Ginのvalidationが400を返すって言って聞かないので、抜け道を探した話

とタイトルを書いていますが、公式のREADMEにやり方がコミットに追加されていたので、それについて少し書きます。10月23日のことです。

当時はそのチュートリアルがなかったので、自力で探しました。あと2ヶ月早く書いて欲しかった(泣)

Ginのbindについて

Ginにはパラメータを構造体に結びつけるメソッド(bind)が存在します。
当然、ステータスーコードを自分でハンドリングしたい時ってありますよね!?

というわけで、チュートリアルを前に見た時はmust bindの説明しかありませんでした。
(must bind は失敗時に必ず400を設定します。)
が、今では以下のような説明が追記されています。

bindメソッドの種類

must bind

ステータス400と、text/plain; charset=utf-8をセットする

  • Bind
  • BindJSON
  • BindQuery

should bind

エラーが帰ってきたとき、それを元に自分でエラーハンドリングを行う

  • ShouldBind
  • ShouldBindJSON
  • ShouldBindQuery

まとめ

細かくはリファレンスに書いてあるので割愛しますが、
200にして返してあげたい時は、should bindメソッドを使えばOKです。

この情報もっと早く書いておいて欲しかった(2度目)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?