美文网首页
Vapor文档学习十七:ROUTING - Group

Vapor文档学习十七:ROUTING - Group

作者: Supremodeamor | 来源:发表于2017-04-20 17:35 被阅读27次

将多个路由进行组合,可以令多个路由共用相同的前缀、middleware、hosts。
路由组有两种不同的形式: Group 和 Grouped.

Group

Group(不带"ed"结尾的)用闭包来传递一个GroupBuilder类。

drop.group("v1") { v1 in
    v1.get("users") { request in
        // get the users
    }
}

Grouped

Grouped通过返回GroupBuilder,这样就不用在其闭包内调用。

let v1 = drop.grouped("v1")
v1.get("users") { request in
    // get the users
}

Middleware

可以向路由组中添加middleware,这对验证身份特别有用。

drop.group(AuthMiddleware()) { authorized in 
    authorized.get("token") { request in
        // has been authorized
    }
}

Host

你可以限制路由组的host

drop.group(host: "vapor.codes") { vapor
    vapor.get { request in
        // only responds to requests to vapor.codes
    }
}

Chaining

Groups可以连接到一起。

drop.grouped(host: "vapor.codes").grouped(AuthMiddleware()).group("v1") { authedSecureV1 in
    // add routes here
}

相关文章

网友评论

      本文标题:Vapor文档学习十七:ROUTING - Group

      本文链接:https://www.haomeiwen.com/subject/nfblzttx.html