美文网首页
Vapor学习之Controllers

Vapor学习之Controllers

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

    控制器

    控制器可以用来组织你的代码,它们是一系列用于接收 request 和返回 response 的方法集合。
    通常情况下可以将控制器存放在Controllers 目录下。

    方法

    控制器示例

    import Vapor
    
    final class HelloController {
        func greet(_ req: Request) throws -> String {
            return "Hello!"
        }
    }
    

    控制器方法总是会接收 Request 并且返回 ResponseRepresentable 类型。

    提示: 期望类型为 ResponseEncodableFutures(比如:Future<String>) 也是 ResponseEncodable类型。

    关于如何使用控制器,我们只需要简单初始化控制器,然后传递这个方法给路由器即可。

    let helloController = HelloController()
    router.get("greet", use: helloController.greet)
    

    使用服务

    如果想在控制器中访问 services ,只需要在路由闭包中以 Request 作为容器来创建 services 即可。 Vapor 将会负责缓存对应的 services。

    final class HelloController {
        func greet(_ req: Request) throws -> String {
            return try req.make(BCryptHasher.self).hash("hello")
        }
    }
    

    相关文章

      网友评论

          本文标题:Vapor学习之Controllers

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