Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go API Validation error handling

Go API Validation error handling

GoのAPIでのValidation Error Handlingの実装例です。

Kazuki Higashiguchi

May 27, 2019
Tweet

More Decks by Kazuki Higashiguchi

Other Decks in Technology

Transcript

  1. © - BASE, Inc. Go製APIの Validation error handling . .

    #gouncon kg Go Un Conference kg - @hgsgtk
  2. © - BASE, Inc. このトークで持ち帰れること • Goでのバリデーションハンドリングの実例 • ネット上でなかなか⾒つからない(個⼈談) •

    UseCase: HTTPリクエスト時‧DB保存時 • Question/Suggestionください • 即時に反映されるかも知れません
  3. © - BASE, Inc. ⾃⼰紹介 東⼝和暉 (Kazuki Higashiguchi) Twitter /

    GitHub : @hgsgtk バックエンドエンジニア BASE BANK, Inc. / Dev Division Go歴: - 趣味:2017.7〜 - 仕事:2018.6〜
  4. © - BASE, Inc. Step Validatorを作成する > 使⽤ライブラリ • go-playground/validator

    • https://github.com/go-playground/validator • ginフレームワークで公式採⽤されている • →このライブラリをwrapした validation パッケージ を作成
  5. © - BASE, Inc. Step : Validatorを作成する > tagNameFuncの作成 •

    tagNameFuncを作成 • See also: https://github.com/go-playground/ validator/issues/ •
  6. © - BASE, Inc. Step : バリデーション結果を利⽤ > 構造体への設定 •

    バリデーションしたい構造体に validate タグを設定 • 構造体⾃⾝がvalidatorを実⾏する振る舞いを持つ
  7. © - BASE, Inc. Step : バリデーション結果を利⽤ > エラー結果を利⽤ •

    error 型で返却される • validation.Error interface型か判定