路由(gorilla/mux)
安装gorilla/mux
go get -u github.com/gorilla/mux
默认的http包无法处理复杂的请求路由,例如从url中拆分出参数。该第三方包可方便的处理。
创建路由
r := mux.NewRouter()
该路由接收http请求,并传递给注册的请求处理者。
注册请求处理者
r.HandleFunc("/books/{title}/page/{page}", func(w http.ResponseWriter, r *http.Request) {vars := mux.Vars(r)title := vars["title"]page := vars["page"]fmt.Fprintf(w, "You've requested the book: %s on page %s\n", title, page)
})
/books/{title}/page/{page}包含两个动态字段:title和page。链接*/books/go-programming-blueprint/page/10会被分析出两个参数,go-programming-blueprint被分配到title*,10被分配到page。
mux.Vars
将字段从url中分析出,并以映射类型返回。
启用路由
http.ListenAndServe(":8090", r)
监听指定端口,启用http服务和指定路由。
完整源码
package mainimport ("fmt""net/http""github.com/gorilla/mux"
)func main() {r := mux.NewRouter()r.HandleFunc("/books/{title}/page/{page}", func(w http.ResponseWriter, r *http.Request) {vars := mux.Vars(r)title := vars["title"]page := vars["page"]fmt.Fprintf(w, "You've requested the book: %s on page %s\n", title, page)})http.ListenAndServe(":8090", r)
}
路由(gorilla/mux)相关推荐
- 路由复用器--gorilla/mux
简介 gorilla/mux是 gorilla Web 开发工具包中的路由管理库.gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包.它包括 Web 服务器开发的各个方面, ...
- 使用gorilla/mux增强Go HTTP服务器的路由能力
今天这篇文章我们将会为我们之前编写的 HTTP服务器加上复杂路由的功能以及对路由进行分组管理.在之前的文章<深入学习用 Go 编写HTTP服务器>中详细地讲了使用 net/http进行路由 ...
- mysql的请求分发,基于 gorilla/mux 实现路由匹配和请求分发:服务单页面应用
基于 gorilla/mux 实现路由匹配和请求分发:服务单页面应用 由 学院君 创建于1年前, 最后更新于 1年前 版本号 #1 1279 views 0 likes 0 collects 随着前后 ...
- 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析
目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...
- gorilla/mux 的学习
原文链接:gorilla/mux的学习 源代码: package mainimport ("encoding/json""fmt""github.co ...
- gorilla/mux类库解析
简介 gorilla/mux实现了一个请求路由和分发的Go框架."mux"的意思是"HTTP request multiplexer",和标准包http.Ser ...
- Go 每日一库之 gorilla/mux
简介 gorilla/mux是 gorilla Web 开发工具包中的路由管理库.gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包.它包括 Web 服务器开发的各个方面, ...
- gorilla/mux的使用
github.com/gorilla/mux: golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路 径对应的处理函数的映射关系. ...
- Gorilla源码分析之gorilla/mux源码分析
本文公众号文章链接:https://mp.weixin.qq.com/s/LLcPDPtpjNeXAA_ffL3YCg 本文csdn博客链接:http://blog.csdn.net/screscen ...
最新文章
- zabbix1.8和2.0版本通用的安装脚本
- VMware 滴滴声解决
- 用函数的思想进行四则运算
- PEOPEO中国区总经理于景:当我谈交互设计时我谈些什么
- linux type命令(用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令,如果给出的指令为外部指令,则显示其绝对路径)
- SSH-permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
- React开发(124):ant design学习指南之form中的this.props.form
- “ create-react-app”和创建React应用程序的未来
- 微软亚研院:CV领域2019年重点论文推荐
- Python扑克牌发牌(用类实现)
- 案例实操-Top10热门品类
- 「干货」Linux 应急响应日志分析命令「详细总结」
- 常用元器件封装的命名规范-002
- C++--最大公约数和最小公倍数
- uos命令_UOS新手入门:键盘和语言的设置方法
- 如何编辑小红书种草文案?小红书怎么编写种草文案?
- github生成密钥步骤
- 护眼灯哪个品牌好?被央视表扬的护眼灯推荐
- android WebView
- TSLAM室内自主定位方案