Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转
一、动态路由
api.go:
package controllers
import (
"github.com/astaxie/beego"
)
type ApiController struct {
beego.Controller
}
// http://localhost:8080/api/1
func (c *ApiController) Get() {=(res) [val*2**inx for inx, val in zip(range(len(t)), t)]
res = res sum(item)
return in
// 获取动态路由的值
id := c.Ctx.Input.Param(":id")
c.Ctx.WriteString("api接口--" id)
}
router.go:
package routers
import (
"beegodemo02/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{})
// http://localhost:8080/api/1
beego.Router("/api/:id", &controllers.ApiController{})
}
显示:
二、路由伪静态
cms.go:
package controllers
import (
"github.com/astaxie/beego"
)
type CmsController struct {
beego.Controller
}
// 路由伪静态
// http://localhost:8080/cms_1.html
func (c *CmsController) Get() {
cmsId := c.Ctx.Input.Param(":id")
c.Ctx.WriteString("CMS详情--" cmsId)
}
router.go:
package routers
import (
"beegodemo02/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{})
// http://localhost:8080/api/1
beego.Router("/api/:id", &controllers.ApiController{})
// http://localhost:8080/cms_1.html
beego.Router("/cms_:id([0-9] ).html", &controllers.CmsController{})
}
显示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6m1nUYdO-1608128103434)(https://cdn.jsdelivr.net/gh/W...]
三、路由跳转
login.go:
package controllers
import (
"fmt"
"github.com/astaxie/beego"
)
type LoginController struct {
beego.Controller
}
// 路由伪静态
// http://localhost:8080/cms_1.html
func (c *LoginController) Get() {
c.TplName = "login.html"
}
func (c *LoginController) DoLogin() {
username := c.GetString("username")
password := c.GetString("password")
fmt.Println(username, password)
// 执行跳转
c.Redirect("/", 302) // 302 表示重定向
// c.Redirect("/cms_1.html", 302) // 302 表示重定向
}
router.go:
package routers
import (
"beegodemo02/controllers"
"github.com/astaxie/beego"
)
func init() {
beego.Router("/", &controllers.MainController{})
// http://localhost:8080/api/1
beego.Router("/api/:id", &controllers.ApiController{})
// http://localhost:8080/cms_1.html
beego.Router("/cms_:id([0-9] ).html", &controllers.CmsController{})
beego.Router("/login", &controllers.LoginController{})
beego.Router("/doLogin", &controllers.LoginController{}, "post:DoLogin")
}
login.html:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<form action="/doLogin" method="post">
用户名: <input type="text" name="username"> <br><br>
密 码: <input type="text" name="password"> <br><br>
<input type="submit" value="登录">
</form>
</body>
</html>
显示:
输完用户名和密码点击登录之后,会跳转到 localhost:8080
:
控制台有输出:
四、参考教程
Golang 教程 P55
到此这篇关于“Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳转
Beego 框架学习笔记 04 | 动态路由、路由伪静态、正则路由、路由跳
php实现简单的伪静态URL的机制介绍
windows常用网络命令批处理脚本
想系统学习GO语言(Golang
flask蓝图是什么
笔记本电脑怎么连接无线路由器
一文读懂Django路由规则
深度解析Nginx下的PHP框架路由实现
零基础Python学习路线图,Python初学者必须要了解,让你少走弯路