仅响应模型中的几个字段

时间:2018-07-14 05:09:34

标签: go buffalo

以下是我的广告客户模型-

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))
}

1 个答案:

答案 0 :(得分:2)

我不确定我是否正确理解了您的问题。但是,当封送处理到json如果您的字段带有标签json:"-"时,则不会返回该值。