#mysql #swift #vapor #vapor-fluent
#mysql #swift #vapor #vapor-fluent
Вопрос:
Я только начинаю использовать 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
}
}
По какой-то причине «Сохраненный продукт» никогда не печатается, поэтому закрытие никогда не вызывается.
Когда я проверяю в базе данных, таблица products всегда пуста.
Заранее благодарим вас за помощь!
Карим
Ответ №1:
Попробуйте сохранить продукт вместо входных данных:
return product.create(on: req.db).map { print("Product saved") }
.transform(to: .ok)
Комментарии:
1. Присоединяйтесь к каналу vapor в Discord. Люди там намного отзывчивее, чем здесь!