Получить запрос GraphQL с типом соединения - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть приложение 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")]]))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...