美文网首页
Vapor学习之Routing

Vapor学习之Routing

作者: 小熊学编程 | 来源:发表于2019-08-07 17:04 被阅读0次

路由

用来查找 request 对应的 response

创建路由器

Vapor中默认路由是 EngineRouter。你可以通过实现Router协议来实现自定义路由器。

let router = try EngineRouter.default()

通常这些是在configure.swift 文件中完成的

注册路由

假设当访问GET /users时,你想要返回user列表。不考虑授权问题的话,代码将类似这样的。

router.get("users") { req in
    return // fetch the users
}

Vapor中路由通常使用 .get.put.post.patch.delete。你可以通过/来表示路径,也可以使用逗号分割。我们推荐后者,因为它可读性更好

router.get("path", "to", "something") { ... }

路由

最佳存放路由的位置是 routes.swift文件,可以使用传进来的路由器参数来注册你的路由。

import Vapor

public func routes(_ router: Router) throws {
    // Basic "Hello, world!" example
    router.get("hello") { req in
        return "Hello, world!"
    }
    /// ...
}

参数

有时候你可能想要路由中某个路径是动态的。这通常是用于要获取一个元素的id,比如GET /users/:id

router.get("users", Int.parameter) { req -> String in
    let id = try req.parameters.next(Int.self)
    return "requested id #\(id)"
}

这里传的不是字符串,而是你期望的参数类型。在这里User有个Int类型的 ID 。

提示: 你也可以自定义参数类型

相关文章

网友评论

      本文标题:Vapor学习之Routing

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