Slide 16
Slide 16 text
16
ApolloClientを生成し、あとはクエリを実行する
● 以下のようなコードで ApolloClientを生成
し、あとはクエリを実行します
● 実際のコードではシングルトンで Apolloク
ライアントを保持するようにしました
// 追加したいHTTPヘッダがあれば
var apiHeaders: [AnyHashable : Any] = [
"Accept-Language": NSLocale.current.identifier,
"Accept-Timezone": NSTimeZone.default.identifier
]
let configuration: URLSessionConfiguration = .default
configuration.httpAdditionalHeaders = apiHeaders
// GRAPHQL_ENDPOINTに接続するApolloクライントを生成
let graphqlClient = ApolloClient(networkTransport:
HTTPNetworkTransport(url: URL(string: GRAPHQL_ENDPOINT)!,
configuration: configuration))
// 先程のクエリとクライアントでこのようにデータ取得ができます
graphqlClient.fetch(query: searchRoomsQuery) { (result, error) in
guard let rooms = result?.data?.searchRooms?.results, error == nil else {
// エラー時の処理
print(error)
return
}
// 正常に取得できた時の処理
print(rooms)
}