設計ルール

  • Handler
    • Httpリクエストを受け取る
    • レスポンスを返す
  • Controller
    • リクエストを読む
    • レスポンスを作成する
  • Service
    • エンティティを作成する、DBから引き寄せる

go entの罠とその回避

デフォルトでstruct tagが omitempty

  • 0nilなどに意味があっても、そのkey-valueを消されてしまうので厄介

回避策

  • schema内のFieldにStructTag(`json:"field"`)を追加