Предположим, у меня есть модель с именем Estimate
.У меня есть Vapor 3 API, который я хочу вернуть список этих моделей, отфильтрованных по параметрам запроса.В настоящее время это возвращает Future<[Estimate]>
, в результате чего API возвращает JSON, который выглядит следующим образом:
[{estimate object}, {estimate object}, ...]
Вместо этого я бы хотел, чтобы он возвращал что-то такое:
{"estimates": [{estimate object}, {estimate object}, ...]}
То же самое, что и раньше, но обернуто в объект JSON одним ключом, "estimates"
.
Согласно документации , всякий раз, когда я хочу вернуть что-то нестандартное, я должен создать для него новый тип;это говорит мне о том, что мне следует создать такой тип:
final class EstimatesResponse: Codable {
var estimates: [Estimate]?
}
Однако после фильтрации я получаю Future<[Estimate]>
, а НЕ чистый [Estimate]
массив, то есть я не могу присвоить его своему EstimatesResponse
estimates
собственность.Кажется странным, чтобы тип estimates
был Future<[Estimate]>
, и я не уверен, как это получится.
Как тогда я могу вернуть JSON правильного формата?