В настоящее время я работаю над проектом, в котором я вызываю веб-сервис, который возвращает мне JSON, который я анализирую, используя Codable
, например:
Моя структура:
struct User: Codable {
var name: String
var age: Int
}
Ответ API:
{"name": "Romiro", "age": 27}
Код декодирования:
let decoded = try! JSONDecoder().decode(User.self, from: data)
Мы решили расширить информацию User
, добавив новые поля, например:
struct User: Codable {
var name: String
var age: Int
var detail: Detail
}
struct Detail: Codable {
var id: Int
var dob: Date
}
Однако бэкэнд еще не разработан , поэтому ответ API по-прежнему
{"name": "Romiro", "age": 27}
Есть ли правильный способ макетировать только часть var detail: Detail
, загружая ее из *Файл 1030 * в ресурсах проекта, который соответствует структуре Detail
, но в то же время удерживает вызов API для уже существующей части User
?
Сделав это, я смогу сохранить всю логику вызова конечной точки и шунтирования единственной части, которая находится в стадии разработки, все еще путем вызова
let decoded = try! JSONDecoder().decode(User.self, from: data)
Кроме того, есть лиспособ сделать это без изменения ответа json от API?Я не хочу вручную добавлять деталь detail к ответу je json.
Примечание: Очевидно, структура User
является примером, в моем проекте это оченьболее сложная структура