美文网首页
Vapor-Controllers

Vapor-Controllers

作者: tsiic | 来源:发表于2019-04-29 17:42 被阅读0次

方法

和普通类不同的是Controllers的方法都应该接受一个Request参数并返回一个ResponseEncodable
eg.

import Vapor

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

要使用这个Controller,只需要初始化它并传给router.

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

服务

如果想在controllers内使用你创建的服务,在路由闭包中使用Request作为容器去创建这些服务。如下面的示例代码,在处理greet请求的时候通过Request去创建了BCryptHasher服务。
Vapor会自动缓存这些服务。

import Crypto

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

相关文章

  • Vapor-Controllers

    方法 和普通类不同的是Controllers的方法都应该接受一个Request参数并返回一个ResponseEnc...

网友评论

      本文标题:Vapor-Controllers

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