Я использую API в Swift 4, используя Alamofire. Я использую структуры для создания моделей данных, которые я хочу использовать в этом ответе, и подтверждаю, что можно декодировать.
Мой ответ выглядит так ...
{
"pagination":{
"per_page":50,
"items":3909,
"page":1,
"urls":{
"last":"https://api.discogs.com/database/search?q=ed+rush&per_page=50&secret=foo&page=79&key=bar",
"next":"https://api.discogs.com/database/search?q=ed+rush&per_page=50&secret=foo&page=2&key=bar"
},
"pages":79
},
"results": []
}
Моя модель выглядит следующим образом ...
struct SearchResults: Decodable {
let pagination: SearchPagination
let results: [SearchResult]
}
struct SearchResult: Decodable {
let type: String
}
struct SearchPagination: Decodable {
let per_page: Int
let items: Int
let page: Int
let pages: Int
}
То, что я пытаюсь понять, это то, как я бы смоделировал нумерацию страниц, поскольку urls
сам является вложенным объектом. Я создаю структуру только для urls
или я что-то упускаю здесь очевидное?
Возможно, структура - не лучший подход? Я пришел из JS, и структуры очень похожи на интерфейс в TypeScript, но я знаю, что здесь что-то не хватает.