如何使用搜索的数据编写响应-go swagger&;戈姆

如何使用搜索的数据编写响应-go swagger&;戈姆,go,struct,go-gorm,go-swagger,Go,Struct,Go Gorm,Go Swagger,我使用go-swagger和gorm进行MySQL查询,我的一个处理程序是(检索一条记录) 或从表用户检索所有数据 api.UsersUserListHandler = users.UserListHandlerFunc(func(params users.UserListParams) middleware.Responder { db := dbConn() var user []User var count int db.Table("use

我使用go-swagger和gorm进行MySQL查询,我的一个处理程序是(检索一条记录)

或从表用户检索所有数据

api.UsersUserListHandler = users.UserListHandlerFunc(func(params users.UserListParams) middleware.Responder {
        db := dbConn()
var user []User
        var count int
        db.Table("users").Select("id, email, password, name").Scan(&user).Count(&count)

        log.Info(db.RecordNotFound())
        if count == 0 {
            message := "User not exists"
            return users.NewUserGetByIDDefault(500).WithPayload(&models.Error{Message: &message})
        }

        return users.NewUserGetByIDOK()
    })
用户Gorm结构是

type User struct { // user
    ID       int64  `gorm:"AUTO_INCREMENT"`
    Email    string `gorm:"type:varchar(200);unique_index"`
    Password string `gorm:"size:200"`
    Name     string `gorm:"type:varchar(200)`
}
和模型一样。用户

如何正确地返回那里的数据?我尝试了WriterResponse和Payload,但没有成功

有一个答案:

第一次改变

user := User{}

最后加上

        ret := make([]*models.Users, 0)

        ret = append(ret, user)
        return users.NewUserGetByIDOK().WithPayload(ret)
WithPayload函数表单文件*\u responses.go定义为

// WithPayload adds the payload to the user get by Id o k response
func (o *UserGetByIDOK) WithPayload(payload []*models.Users) *UserGetByIDOK {
    o.Payload = payload
    return o
}
答案是:

第一次改变

user := User{}

最后加上

        ret := make([]*models.Users, 0)

        ret = append(ret, user)
        return users.NewUserGetByIDOK().WithPayload(ret)
WithPayload函数表单文件*\u responses.go定义为

// WithPayload adds the payload to the user get by Id o k response
func (o *UserGetByIDOK) WithPayload(payload []*models.Users) *UserGetByIDOK {
    o.Payload = payload
    return o
}

我可以问一下如何在go-swagger生成的结构中定义gorm标记吗?我可以问一下如何在go-swagger生成的结构中定义gorm标记吗?