仅响应模型中的几个字段

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 操作中,我需要所有这些字段来进行某些计算。但是,最后,我只想回复 NameEmailContactNumber 字段。

记住,这是一个 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:"-" 的字段,则不会返回该值。