路由匹配的顺序是按照他们被定义的顺序执行的. 最先被定义的路由将会首先被用户请求匹配并调用.

    路由模型可能包含参数列表, 可以通过服务来获取:

    1. m.Get("/hello/:name", func(params martini.Params) string {
    2. return "Hello " + params["name"]
    3. })

    也可以这样使用正则表达式:

    1. return fmt.Sprintf ("Hello %s", params["name"])
    2. })

    有关正则表达式的更多信息请参见Go官方文档.

    也可以通过 Group 方法, 将 route 编成一組.

    1. m.Group("/books", func(r martini.Router) {
    2. r.Post("/new", NewBook)
    3. r.Put("/update/:id", UpdateBook)
    4. r.Delete("/delete/:id", DeleteBook)

    就像为 handler 增加 middleware 方法一样, 你也可以为一组 routes 增加 middleware.