请求,将模型数组保存在 vapor 3 中
request, that save array of models in vapor 3
如何使用 transactions
将模型数组更新为 mysql
?并且returnOk
操作成功后的响应
所以,我在没有交易的情况下解决了我的问题:
func update(_ req: Request, todos: [CreateTodoRequest]) throws -> Future<HTTPStatus> {
let user = try req.requireAuthenticated(User.self)
// 1
return try todos.map { try Todo(todo: [=10=], userID: user.requireID()).create(on: req) }
// 2
.flatten(on: req)
// 3
.transform(to: .ok)
}
.create(on: req)
return 一个 EventLoopFuture<Todo>
。所以todos.map
将return一个[EventLoopFuture<Todo>]
的数组。第二步,将其转化为EventLoopFuture<[Todo]>
。而第三步就是将其转化为HttpStatus.ok
response
如何使用 transactions
将模型数组更新为 mysql
?并且returnOk
操作成功后的响应
所以,我在没有交易的情况下解决了我的问题:
func update(_ req: Request, todos: [CreateTodoRequest]) throws -> Future<HTTPStatus> {
let user = try req.requireAuthenticated(User.self)
// 1
return try todos.map { try Todo(todo: [=10=], userID: user.requireID()).create(on: req) }
// 2
.flatten(on: req)
// 3
.transform(to: .ok)
}
.create(on: req)
return 一个 EventLoopFuture<Todo>
。所以todos.map
将return一个[EventLoopFuture<Todo>]
的数组。第二步,将其转化为EventLoopFuture<[Todo]>
。而第三步就是将其转化为HttpStatus.ok
response