更新API方法使用GIN

huangapple go评论69阅读模式
英文:

Go , Update API method with GIN

问题

我是新手golang。我正在研究和学习GIN来构建RESTful API。

我在处理Update Gin API方法时遇到了困难。具体来说,是存储"email"和"name"字段的输入数据的部分。

问题是:我该如何修改json map[string]interface数据以能够保存数据。希望大家能帮忙。
非常感谢。

 func (r *UserRepo) UpdateInfoUser(id uint64) (*entity.User, error) {
	var user entity.User
	err := r.db.Debug().Where("id = ?", id).Take(&user).UpdateColumns(map[string]interface{}{
		"name":       // 在这里填写代码,
		"email":       // 在这里填写代码,
		"updated_at": time.Now(),
	}).Error
	if err != nil {
		return nil, err
	}
	return &user, nil
}
英文:

I'm newbie golang. I'm rearching and learning GIN to build restful API.

I'm having a hard time dealing with the Update Gin API method. Specifically, the part that stores the input data of the "email", "name" field.

The question is : How do I modify the json map[string]interface data to be able to save the data in. Hope everyone can help.
Thank you very much.

 func (r *UserRepo) UpdateInfoUser(id uint64) (*entity.User, error) {
	var user entity.User
	err := r.db.Debug().Where("id = ?", id).Take(&user).UpdateColumns(map[string]interface{}{
		"name":       // code here,
		"email":       // code here,
		"updated_at": time.Now(),
	}).Error
	if err != nil {
		return nil, err
	}
	return &user, nil
}

答案1

得分: 1

你应该添加两个额外的函数输入。

尝试一下:

func (r *UserRepo) UpdateInfoUser(id uint64, name string, email string) (*entity.User, error) {
    var user entity.User
    err := r.db.Debug().Where("id = ?", id).Take(&user).UpdateColumns(map[string]interface{}{
        "name":       name,
        "email":      email,
        "updated_at": time.Now(),
    }).Error
    if err != nil {
        return nil, err
    }
    return &user, nil
}
英文:

you should add two more function inputs.
try

 func (r *UserRepo) UpdateInfoUser(id uint64, name string, email string) (*entity.User, error) {
    var user entity.User
    err := r.db.Debug().Where("id = ?", id).Take(&user).UpdateColumns(map[string]interface{}{
        "name":       name,
        "email":      email,
        "updated_at": time.Now(),
    }).Error
    if err != nil {
        return nil, err
    }
    return &user, nil
}

huangapple
  • 本文由 发表于 2022年7月15日 15:45:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/72990657.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定