美文网首页
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