декодировать массив объектов в паре - PullRequest
0 голосов
/ 11 ноября 2018

Как мне декодировать следующий json-массив (который является частью http-запроса)

[ 
  { "id": 0, "name": "darth maul" }, 
  { "id": 1, "name": "darth sidious" } 
]

в быстрых парах 3 с функцией декодирования?

код пара:

struct User: Content {
    var id: Int
    var name: String
}

router.put("user") { request -> Future<HTTPStatus> in
    return try request.content.decode(User.self).map({ (user) -> (HTTPStatus) in
        // process ...
        return .ok
    })
}

1 Ответ

0 голосов
/ 11 ноября 2018

Ваш код уже довольно близок, требуется лишь небольшое изменение: вместо того, чтобы декодировать одного пользователя, расшифруйте их массив. Обратите внимание на квадратные скобки в decode.

router.put("user") { request -> Future<HTTPStatus> in
    return try request.content.decode([User].self).map({ (users) -> (HTTPStatus) in
        // process ...
        return .ok
    })
}
...