1

golang で抽象化を実装しようとしていますgormorm ライブラリとginフレームワークを使用しています

基本クラス

type Base struct {
  Context *gin.Context // Passing gin request
}

func (b *Base ) Add() {
   err := b.Context.BindJSON(b)
   if err != nil {
     // handling error here
   }
   gorm.db.Create(b) // Here I am adding base data to database
}

子クラス

type Shopper struct { 
   Base  // Embedding Base struct
   Name string,
   Address string,
   ContactNo int
}

ハンドラ

 func handler (c *gin.Context) {
  s := new(Shopper)
  s.Context = c
  s.Add()  // Here I am expecting Add() method should bind JSON to shopper struct
           // entry to database using gorm
 }

Add()メソッドは、構造体が持つプロパティを取得していませんshopper

ここでは、リクエスト本文からjsonを取得し、それぞれの使用に追加するだけで回避code duplicationしたいだけですhandlerdatabasegorm

4

1 に答える 1