问题描述
我刚刚开始使用Vapor 4,我创建了一个POC来测试如何将模型保存到本地MysqL数据库中。
public class ProductController {
static func create(req: Request) throws -> HTTPStatus {
do {
let input = try req.content.decode(Product.self)
let product = Product(name: input.name,imageUrl: input.imageUrl,priceAmount: input.priceAmount,priceCurrencyCode: input.priceCurrencyCode,category: input.category)
let _ = input.create(on: req.db).map {
print("Product saved")
}
return HTTPStatus.ok
} catch {
return HTTPStatus.badRequest
}
}
由于某种原因,“已保存产品”永远不会被打印,因此永远不会调用闭包。 当我检入数据库时,表产品始终为空。
预先感谢您的帮助!
Karim
解决方法
尝试保存产品而不是输入:
return product.create(on: req.db).map { print("Product saved") }
.transform(to: .ok)