Vapor学习之Application
2019-08-07 本文已影响0人
小熊学编程
Application
项目启动时,你可以使用Application来创建任何你需要的服务
最佳访问Application位置是boot.swift文件中
public func boot(_ app: Application) throws {
// Your code here
}
Vapor不支持静态访问Application,如果你需要从其它类或结构体访问application的话,你应该通过方法或初始构造器传递过去。
提示: 避免静态访问变量可以提高Vapor性能,因为这样的话不需要使用线程安全锁或信号量。
Services
Application主要功能是启动你的服务
try app.run()
然而,application也是一个容器,你可能需要使用它来创建所需要的各种服务。
提示: 不要在路由闭包里直接使用application或任何由它创建的服务。取而代之,应该使用
Request
来创建服务。
let client = try app.make(Client.self)
let res = try client.get("http://vapor.codes").wait()
print(res) // Response
提示: 因为不在路由闭包里,所以这里可以使用
.wait()
来代替.map
/.flatMap