Xcode 11.2 と Swift 5.1 を使用して Vapor 3.1.10 に基づいてバックエンドを作成しています。データベースは PostgreSQL 12 です。POST および GET 要求なしでデータベース (CRUD) と対話する方法について質問があります。すべてのチュートリアルは、HTTPS を介したリクエストに基づいてのみ CRUD する方法を示しています。しかし、アプリがネットワークと対話せずにデータベースに何かを保存する必要がある場合はどうすればよいでしょうか? 私のコードを見てください:
import Vapor
import FluentPostgreSQL
final class Device: PostgreSQLModel {
var id: Int?
var isWorking: Bool
var serial: Int
init(isWorking: Bool, serial: Int) {
self.isWorking = isWorking
self.serial = serial
}
}
extension Device: Content {}
extension Device: Migration {}
extension Device: Parameter {}
書き込みまたは読み取りの古典的な方法は次のとおりです。
import Vapor
final class DeviceController {
func readAll(_ req: Request) throws -> Future<[Device]> {
return Device.query(on: req).all()
}
func create(_ req: Request) throws -> Future<Device> {
return try req.content.decode(Device.self).flatMap { device in
return device.save(on: req)
}
}
}
req
ローカルで作成できる別のバックグラウンド、安全なスレッドに置き換える方法は?
例えば:
let device = Device(isWorking: true, serial: 54321)
device.save(on: <#T##DatabaseConnectable#>)
交換方法は<#T##DatabaseConnectable#>
?
どんな助けやアドバイスにも感謝します。