此软件包作为 request.storage 的替代品,该 request.storage 在 Vapor 1 & 2 中可用。
将软件包声明添加到您项目的 manifest dependencies 数组中
.package(url: "https://github.com/skelpo/vapor-request-storage.git", from: "0.1.0")
然后将 VaporRequestStorage 添加到任何您想要访问它的目标的 dependencies 数组中。
通过从命令行运行 vapor update 或 swift package update 完成安装。
在 configure.swift 文件中,导入 VaporRequestStorage。 然后将 provider 注册到传递给 configure(_:_:_:) 函数的 services 对象中
try service.register(StorageProvider())
现在您可以使用 Storage 服务和 privateContainer 在请求中存储数据。
要设置一个值,有一个 request.set(_:to:) 方法
try request.set("key", to: value)
要稍后获取该值,请使用 request.get(_:as:) 方法
try request.get("key", as: Value.self)
get 方法的第二个参数具有默认值 Stored.self,这意味着如果您在其他地方指定了返回类型,则可以跳过传递该值
let value: Value = try request.get("key")