这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
mux 是一个实现了 http.Handler 的中间件,为用户提供了以下功能:
1. 正则路由;
1. 路由参数;
1. 丰富的 OPTIONS 请求处理方式;
1. 根据路由生成地址。
```go
m := mux.New(false, false, nil, nil).
Get("/users/1", h). // GET /user/1
Post("/login", h). // POST /api/login
Get("/posts/{id:\\d+}", h). // GET /blog/post/{id:\d+} 正则路由
Options("/users/1", "GET") // OPTIONS /user/1 手动指定该路由项的 OPTIONS 请求方法返回内容
// 统一前缀路径的路由
p := m.Prefix("/api")
p.Get("/logout", h) // 相当于 m.Get("/api/logout", h)
p.Post("/login", h) // 相当于 m.Get("/api/login", h)
// 对同一资源的不同操作
res := p.Resource("/users/{id\\d+}")
res.Get(h) // 相当于 m.Get("/api/users/{id}", h)
res.Post(h) // 相当于 m.Post("/api/users/{id}", h)
res.URL(map[string]string{"id": "5"}, "") // 构建一条基于此路由项的路径:/users/5
http.ListenAndServe(":8080", m)
```
4184 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传