如何在 GORM 库中使用 Golang Sheriff 包?
How to use Golang Sheriff Package with GORM library?
我正在尝试将 Golang Sheriff 包与 GORM 库一起使用,但不知何故我得到了一个空响应。尝试了几种方法没有运气。任何帮助都会很棒。 TIA
//STRUCT
type Book struct {
ID uint `json:"id" gorm:"primary_key" groups:"not_detail,detail"`
Realname string `json:"real_name" groups:"not_detail,detail"`
LanguageId int `json:"language_id" groups:"not_detail,detail"`
Language Language `json:"Language" groups:"detail"`
CreatedAt time.Time `json:"created_at" groups:"not_detail,detail"`
UpdatedAt time.Time `json:"updated_at" groups:"not_detail,detail"`
}
//CONTROLLER LOGIC
func FindBooks(c *gin.Context) {
db := c.MustGet("db").(*gorm.DB)
var books []models.Book
result := db.Find(&books)
o := sheriff.Options{
Groups: []string{"not_detail"},
}
d, err := sheriff.Marshal(&o, result)
if err != nil {
panic(err)
}
c.JSON(http.StatusOK, gin.H{"data":d})
}
result := db.Find(&books)
这里Find()
return*DB
表示db连接,fetch数据在books
。所以你应该在 sheriff.Marshal
中发送 books
var books []models.Book
db.Find(&books)
o := sheriff.Options{
Groups: []string{"not_detail"},
}
d, err := sheriff.Marshal(&o, books)
我正在尝试将 Golang Sheriff 包与 GORM 库一起使用,但不知何故我得到了一个空响应。尝试了几种方法没有运气。任何帮助都会很棒。 TIA
//STRUCT
type Book struct {
ID uint `json:"id" gorm:"primary_key" groups:"not_detail,detail"`
Realname string `json:"real_name" groups:"not_detail,detail"`
LanguageId int `json:"language_id" groups:"not_detail,detail"`
Language Language `json:"Language" groups:"detail"`
CreatedAt time.Time `json:"created_at" groups:"not_detail,detail"`
UpdatedAt time.Time `json:"updated_at" groups:"not_detail,detail"`
}
//CONTROLLER LOGIC
func FindBooks(c *gin.Context) {
db := c.MustGet("db").(*gorm.DB)
var books []models.Book
result := db.Find(&books)
o := sheriff.Options{
Groups: []string{"not_detail"},
}
d, err := sheriff.Marshal(&o, result)
if err != nil {
panic(err)
}
c.JSON(http.StatusOK, gin.H{"data":d})
}
result := db.Find(&books)
这里Find()
return*DB
表示db连接,fetch数据在books
。所以你应该在 sheriff.Marshal
books
var books []models.Book
db.Find(&books)
o := sheriff.Options{
Groups: []string{"not_detail"},
}
d, err := sheriff.Marshal(&o, books)