dtg78700 2018-07-14 05:09
浏览 56
已采纳

仅响应模型中的几个字段

Below is my Advertiser 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"`
}

I have generated the Advertiser Resource and by default, it had brought-in the actions.

Now, in AdvertiserList action, I need all these fields to do some or the other calculation. But, finally, I would like to only respond with Name, Email and ContactNumber fields.

Remember, this is a List action, which means, we have an array of Advertiser.

Right now, my action does below-

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条回答 默认 最新

  • dpylt7626401 2018-07-14 16:37
    关注

    I'm not sure if I understood your question correctly. However when marshaling to json if you have fields with tags json:"-" then that value is not returned.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 vue2中使用计算属性
  • ¥50 远程桌面打开Mastercam、没有许可证、物理机打开正常
  • ¥15 ubuntu安装gdal后java读取tif文件报错
  • ¥15 请问lammps怎么做两种金属连接的原子浓度分布图
  • ¥15 求jacquard数据集
  • ¥15 w10部分软件不能联网
  • ¥15 关于安装hbase的问题(操作系统-windows)
  • ¥15 novnc连接pve虚拟机报错安全协议不支持262
  • ¥15 设备精度0.03给多少公差能达到CPK1.33
  • ¥15 qt+ffmpeg报错non-existing PPS 0 referenced