安装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)相关推荐

  1. 路由复用器--gorilla/mux

    简介 gorilla/mux是 gorilla Web 开发工具包中的路由管理库.gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包.它包括 Web 服务器开发的各个方面, ...

  2. 使用gorilla/mux增强Go HTTP服务器的路由能力

    今天这篇文章我们将会为我们之前编写的 HTTP服务器加上复杂路由的功能以及对路由进行分组管理.在之前的文章<深入学习用 Go 编写HTTP服务器>中详细地讲了使用 net/http进行路由 ...

  3. mysql的请求分发,基于 gorilla/mux 实现路由匹配和请求分发:服务单页面应用

    基于 gorilla/mux 实现路由匹配和请求分发:服务单页面应用 由 学院君 创建于1年前, 最后更新于 1年前 版本号 #1 1279 views 0 likes 0 collects 随着前后 ...

  4. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  5. gorilla/mux 的学习

    原文链接:gorilla/mux的学习 源代码: package mainimport ("encoding/json""fmt""github.co ...

  6. gorilla/mux类库解析

    简介 gorilla/mux实现了一个请求路由和分发的Go框架."mux"的意思是"HTTP request multiplexer",和标准包http.Ser ...

  7. Go 每日一库之 gorilla/mux

    简介 gorilla/mux是 gorilla Web 开发工具包中的路由管理库.gorilla Web 开发包是 Go 语言中辅助开发 Web 服务器的工具包.它包括 Web 服务器开发的各个方面, ...

  8. gorilla/mux的使用

    github.com/gorilla/mux: golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路 径对应的处理函数的映射关系. ...

  9. Gorilla源码分析之gorilla/mux源码分析

    本文公众号文章链接:https://mp.weixin.qq.com/s/LLcPDPtpjNeXAA_ffL3YCg 本文csdn博客链接:http://blog.csdn.net/screscen ...

最新文章

  1. zabbix1.8和2.0版本通用的安装脚本
  2. VMware 滴滴声解决
  3. 用函数的思想进行四则运算
  4. PEOPEO中国区总经理于景:当我谈交互设计时我谈些什么
  5. linux type命令(用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令,如果给出的指令为外部指令,则显示其绝对路径)
  6. SSH-permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
  7. React开发(124):ant design学习指南之form中的this.props.form
  8. “ create-react-app”和创建React应用程序的未来
  9. 微软亚研院:CV领域2019年重点论文推荐
  10. Python扑克牌发牌(用类实现)
  11. 案例实操-Top10热门品类
  12. 「干货」Linux 应急响应日志分析命令「详细总结」
  13. 常用元器件封装的命名规范-002
  14. C++--最大公约数和最小公倍数
  15. uos命令_UOS新手入门:键盘和语言的设置方法
  16. 如何编辑小红书种草文案?小红书怎么编写种草文案?
  17. github生成密钥步骤
  18. 护眼灯哪个品牌好?被央视表扬的护眼灯推荐
  19. android WebView
  20. TSLAM室内自主定位方案

热门文章

  1. Flink流式计算框架中的窗口函数
  2. 只说董超正在家里拴 3gp转换软件
  3. 网页设计与网站规划 作业21 圣诞节壁纸制作
  4. 22处令人叹为观止的景观
  5. android 多线程创建texture,从源码角度剖析Android系统EGL及GL线程
  6. Win系统集成一键显示隐藏系统文件到鼠标右键菜单.bat
  7. 使用TexturePacker命令行的一个坑
  8. HTML网页设计.2021.11.19
  9. 计算机网络/谢希仁(第八版)第一章习题
  10. 不同浏览器的userAgent