路由匹配的顺序是按照他们被定义的顺序执行的. 最先被定义的路由将会首先被用户请求匹配并调用.
路由模型可能包含参数列表, 可以通过服务来获取:
- m.Get("/hello/:name", func(params martini.Params) string {
- return "Hello " + params["name"]
- })
也可以这样使用正则表达式:
- return fmt.Sprintf ("Hello %s", params["name"])
- })
有关正则表达式的更多信息请参见Go官方文档.
也可以通过 Group 方法, 将 route 编成一組.
- m.Group("/books", func(r martini.Router) {
- r.Post("/new", NewBook)
- r.Put("/update/:id", UpdateBook)
- r.Delete("/delete/:id", DeleteBook)
就像为 handler 增加 middleware 方法一样, 你也可以为一组 routes 增加 middleware.