import (
"github.com/astaxie/beego"
)
func main() {
ctrl := &MainController{}
// we register the path / to &MainController
// if we don't pass methodName as third param
// beego will use the default mappingMethods
// GET http://localhost:8080 -> Get()
// POST http://localhost:8080 -> Post()
// ...
beego.Router("/", ctrl)
// GET http://localhost:8080/health => ctrl.Health()
beego.Router("/health", ctrl, "get:Health")
// POST http://localhost:8080/update => ctrl.Update()
beego.Router("/update", ctrl, "post:Update")
// support multiple http methods.
// POST or GET http://localhost:8080/update => ctrl.GetOrPost()
beego.Router("/getOrPost", ctrl, "get,post:GetOrPost")
// support any http method
// POST, GET, PUT, DELETE... http://localhost:8080/update => ctrl.Any()
beego.Router("/any", ctrl, "*:Any")
beego.Run()
}
// MainController:
// The controller must implement ControllerInterface
// Usually we extends beego.Controllertype
MainController struct {
beego.Controller
}
// address: http://localhost:8080 GET
func (ctrl *MainController) Get() {
// beego-example/views/hello_world.html
ctrl.TplName = "hello_world.html"
ctrl.Data["name"] = "Get()"
// don't forget this
_ = ctrl.Render()
}
// GET http://localhost:8080/healthfunc (ctrl *MainController) Health() {
// beego-example/views/hello_world.html
ctrl.TplName = "hello_world.html"
ctrl.Data["name"] = "Health()"
// don't forget this
_ = ctrl.Render()}
// POST http://localhost:8080/update
func (ctrl *MainController) Update() {
// beego-example/views/hello_world.html
ctrl.TplName = "hello_world.html"
ctrl.Data["name"] = "Update()"
// don't forget this
_ = ctrl.Render()}
// GET or POST http://localhost:8080/update
func (ctrl *MainController) GetOrPost() {
// beego-example/views/hello_world.html
ctrl.TplName = "hello_world.html"
ctrl.Data["name"] = "GetOrPost()"
// don't forget this _ = ctrl.Render()}
// any http method http://localhost:8080/any
func (ctrl *MainController) Any() {
// beego-example/views/hello_world.html
ctrl.TplName = "hello_world.html"
ctrl.Data["name"] = "Any()"
// don't forget this
_ = ctrl.Render()}