beego 的正则路由

* beego的restful路由

https://blog.csdn.net/fareast_mzh/article/details/86667517

* main.go

// beego-route project main.go
package main

import (
	"fmt"

	"github.com/astaxie/beego"
)

type RegExpController struct {
	beego.Controller
}

/**
 *  http://127.0.0.1:8081/RegExp/123
 */
func (this *RegExpController) Get() {
	this.Ctx.WriteString(fmt.Sprintf("<p>In RegExp Mode</p>"))

	id := this.Ctx.Input.Param(":id")
	this.Ctx.WriteString(fmt.Sprintf("id is %s.<br />", id))

	splat := this.Ctx.Input.Param(":splat")
	this.Ctx.WriteString(fmt.Sprintf("splat is %s.<br />", splat))

	path := this.Ctx.Input.Param(":path")
	this.Ctx.WriteString(fmt.Sprintf("path is %s.<br />", path))
	ext := this.Ctx.Input.Param(":ext")
	this.Ctx.WriteString(fmt.Sprintf("ext is %s.<br />", ext))
}

func main() {

	// 正则路由从path中提取参数
	beego.Router("/RegExp1/?:id", &RegExpController{})
	// 正则表达式匹配数字
	beego.Router("/RegExp2/?:id([0-9]+)", &RegExpController{})
	beego.Router("/RegExp3/?:id([\\w]+)", &RegExpController{})
	// http://127.0.0.1:8081/RegExp4/abc123de  (id=123)
	beego.Router("/RegExp4/abc:id([0-9]+)de", &RegExpController{})

	beego.Router("/RegExp5/*", &RegExpController{})

	// http://127.0.0.1:8081/RegExp6/11.txt   (path is 11. ext is txt.)
	beego.Router("/RegExp6/*.*", &RegExpController{})

	// start service
	beego.Run("127.0.0.1:8081")
}

* build:

$ go build && ./beego-route

2019/01/27 17:38:40.694 [I]  http server Running on http://127.0.0.1:8081

* test:

http://127.0.0.1:8081/RegExp6/11.txt

 

https://www.imooc.com/video/18637

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fareast_mzh

打赏个金币

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值