我们可以将额外的参数传递给 beego 路由器吗
can we pass extra parameter to a beego router
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
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