У меня есть приложение ios, подключенное к AWS Appsync API.Моя схема GraphQL содержит модели, содержащие связи с другими моделями.Модель My Club содержит массив моделей Restaurant (см. Код ниже).
Я могу успешно выполнить запрос, который возвращает массив ресторанов в консоли AppSync.Однако, когда я запускаю запрос ListClubs через Appsync в ios, поле restaurant возвращает тип соединения вместо ожидаемого массива объектов Restaurant
//GraphQL schema definition
type Club @model {
id: ID!
name: String!
address_1: String!
address_2: String
city: String!
state: String!
zipcode: String!
phone: String!
search_name: String!
restaurants: [Restaurant] @connection(name: "Restaurants")
}
type Restaurant @model {
id: ID!
name: String!
club: Club @connection(name: "Restaurants")
menus: [Menu] @connection(name: "Menus")
}
//My IOS Code
appSyncClient?.fetch(query: ListClubsQuery(filter : filterInput ), cachePolicy: .fetchIgnoringCacheData) { (result, error) in
if error != nil {
print(error?.localizedDescription ?? "")
return
}
self.clubs = result?.data?.listClubs?.items
self.clubListVC?.updateClubList(clubs: (self.clubs! as? [ListClubsQuery.Data.ListClub.Item])!)
for club in self.clubs! {
print(club?.restaurants)
}
...
Ожидается: club? .Restaurants, чтобы быть массивом ресторанов, связанных сконкретный клуб
Результат (в отладчике ios): необязательно (Divot_Mobile_App.ListClubsQuery.Data.ListClub.Item.Restaurant (снимок: ["nextToken": nil, "__typename": необязательно ("ModelRestaurantConnection")]]))