2 回答
TA贡献1835条经验 获得超7个赞
您可以使用请求中的数据填充表单。如果您的请求包含一个 JSON 编码的正文,那么您可以将其解码为您的表单对象,如下所示:
package main
import (
"encoding/json"
"net/http"
"strings"
"fmt"
)
type UpdateForm struct {
ID string `json:"type"`
}
func main() {
req, _ := http.NewRequest(
"POST",
"http://example.com",
strings.NewReader(`{"type": "foo"}`),
)
var form *UpdateForm
json.NewDecoder(req.Body).Decode(&form)
fmt.Println(form.ID) // Output: foo
}
或者你可以像这样直接实例化它:
func UpdateHandler(request *http.Request) {
ID := mux.Vars(request)["ID"]
form := &UpdateForm{ID: ID}
form.Save()
}
TA贡献1876条经验 获得超7个赞
我认为这与处理程序无关,但您的代码不一致。这条线
UpdateForm.Save(ID,db)
该方法Save()接受两个参数,而原始方法签名仅接受一个mongo.Database类型参数。
这是我假设你的意图:
type UpdateForm struct {
ID string `json:"type"`
}
func (u UpdateForm) Save(db mongo.Database) {
id := u.ID
repository.Update(id)
}
// UpdateForm instance somewhere
var u = UpdateForm{}
func UpdateHandler(request *http.Request) {
u.ID := mux.Vars(request)["ID"]
u.Save(db)
}
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报