首页 > 解决方案 > 仅响应模型中的几个字段

问题描述

以下是我的广告商模型 -

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,EmailContactNumber字段。

请记住,这是一个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))
}

标签: gobuffalo

解决方案


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


推荐阅读