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

    控制器 控制器可以用来组织你的代码,它们是一系列用于接收 request 和返回 response 的方法集合。通...

  • Vapor文档学习七:Controllers

    Controllers可以帮你将相关功能整合到一起,或者创建一些依赖性的资源。 Basic 下面是一个基本的Con...

  • Vapor-Controllers

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

  • Vapor 2.0 - 控制器(Controllers)

    前往 Vapor 2.0 - 文档目录 控制器帮助您将相关的功能组织到一个地方。它们还可以用于创建RESTful资...

  • Vapor学习之Toolbox

    Toolbox介绍 打印vapor相关操作介绍 也可以在任意toolbox命令中运行 --help 选项 新建 T...

  • Vapor学习之Application

    Application 项目启动时,你可以使用Application来创建任何你需要的服务最佳访问Applicat...

  • Vapor学习之Services

    Service Services 是一个用于 Vapor 的依赖注入(也叫做反向控制)框架。这个 services...

  • Vapor学习之Routing

    路由 用来查找 request 对应的 response 创建路由器 Vapor中默认路由是 EngineRout...

  • Vapor学习之Content

    Content Vapor3 中所有的 content 类型(JSON、protobuf、FormURLEncod...

  • Vapor学习之Xcode

    如果使用Mac开发Vapor项目时,可以使用Xcode对项目进行调试包括编译、运行和停止服务,也可以通过断点和工具...

网友评论

      本文标题:Vapor学习之Controllers

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