仅响应模型中的几个字段
Respond only few fields from the model
以下是我的广告客户模型 -
type Advertiser struct {
ID int `json:"id" db:"id"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
Name string `json:"name" db:"name"`
Email string `json:"email" db:"email"`
ContactNumber string `json:"contact_number" db:"contact_number"`
}
我已经生成了广告商资源,默认情况下,它已经引入了操作。
现在,在 AdvertiserList
操作中,我需要所有这些字段来进行某些计算。但是,最后,我只想回复 Name
、Email
和 ContactNumber
字段。
记住,这是一个 List
动作,这意味着,我们有一个 Advertiser
.
的数组
现在,我的操作如下-
func (v AdvertisersResource) List(c buffalo.Context) error {
tx, ok := c.Value("tx").(*pop.Connection)
if !ok {
return errors.WithStack(errors.New("no transaction found"))
}
advertisers := &models.Advertisers{}
q := tx.PaginateFromParams(c.Params())
if err := q.All(advertisers); err != nil {
return errors.WithStack(err)
}
c.Set("pagination", q.Paginator)
return c.Render(200, r.JSON(advertisers))
}
我不确定我是否正确理解了你的问题。但是,当编组到 json 时,如果您有带有标签 json:"-"
的字段,则不会返回该值。
以下是我的广告客户模型 -
type Advertiser struct {
ID int `json:"id" db:"id"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
Name string `json:"name" db:"name"`
Email string `json:"email" db:"email"`
ContactNumber string `json:"contact_number" db:"contact_number"`
}
我已经生成了广告商资源,默认情况下,它已经引入了操作。
现在,在 AdvertiserList
操作中,我需要所有这些字段来进行某些计算。但是,最后,我只想回复 Name
、Email
和 ContactNumber
字段。
记住,这是一个 List
动作,这意味着,我们有一个 Advertiser
.
现在,我的操作如下-
func (v AdvertisersResource) List(c buffalo.Context) error {
tx, ok := c.Value("tx").(*pop.Connection)
if !ok {
return errors.WithStack(errors.New("no transaction found"))
}
advertisers := &models.Advertisers{}
q := tx.PaginateFromParams(c.Params())
if err := q.All(advertisers); err != nil {
return errors.WithStack(err)
}
c.Set("pagination", q.Paginator)
return c.Render(200, r.JSON(advertisers))
}
我不确定我是否正确理解了你的问题。但是,当编组到 json 时,如果您有带有标签 json:"-"
的字段,则不会返回该值。