gpt4 book ai didi

sql - 我们可以将额外的参数传递给 beego 路由器吗

转载 作者:IT王子 更新时间:2023-10-29 02:22:15 24 4
gpt4 key购买 nike

type MainController struct {
beego.Controller
}

func (this *MainController) Post() {
var datapoint User
req := this.Ctx.Input.RequestBody
json.Unmarshal([]byte(req), &datapoint)
this.Ctx.WriteString("hello world")
// result := this.Input()
fmt.Println("input value is", datapoint.UserId)

}

这是在 url 出现时执行的普通 beego 路由器。我想要类似的东西

type MainController struct {
beego.Controller
}

func (this *MainController,db *sql.DB) Post() {

fmt.Println("input value is", datapoint.UserId)

}

为了使用数据库连接指针。是否可以使用 go 实现此目的...如果不能,请提出建议

最佳答案

你不能在 golang 中这样做

type MainController struct {
beego.Controller }

func (this *MainController,db *sql.DB) Post() {

fmt.Println("input value is", datapoint.UserId)

}

表单中的声明

function (c *MainController)Post()

意味着 Post 是 MainController 结构的一个方法,您可以将变量传递给它。

我的建议是像下面这样在包中将 db 指针声明为全局变量,然后您就可以在 Post 函数中使用它

type MainController struct {
beego.Controller
}

var db *sql.DB

func (this *MainController) Post() {
//you can now use the variable db inside here
fmt.Println("input value is", datapoint.UserId)

}

但考虑到这是使用 MVC 模式的 Beego,您可以在模型中完成所有这些工作。我建议你看看他们很棒的documentation here

关于sql - 我们可以将额外的参数传递给 beego 路由器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com