我正在尝试在 golang 中实现抽象我正在使用gorm
orm 库和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
结构具有的任何属性。
在这里,我只是想避免code duplication
在每个handler
只从请求正文中获取 json 并添加到各自的database
使用中gorm