HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用apollo ios客户端实现graphql订阅大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用apollo ios客户端实现graphql订阅.但由于缺乏文档示例而无法弄明白.
在apollo文档中给出的示例是:

let apollo: ApolloClient = {
  let configuration = URLSessionConfiguration.default
  // Add additional headers as needed
  configuration.httpAdditionalHeaders = ["Authorization": "Bearer <token>"] // replace `<token>`

  let url = URL(String: "http://localhost:8080/graphql")!

  return ApolloClient(networkTransport: httpNetworkTransport(url: url,configuration: configuration))
}()

APOLLO IOS GUIDE: Creating a client

解决方法

按照以下步骤在apollo ios graphql客户端中实现订阅.

>使用COcoapods:

> pod’Apollo’
> pod’Apollo / WebSocket’
> pod安装

>创建客户端以@L_675_9@订阅和身份验证.在AppDelegate.swift中添加以下代码

> Websocket – 我们必须使用WebSocketTransport和URLrequest
>身份验证 – 我们必须在连接参数connectionPayload和服务器之间传递auth参数.对于http,我们将在标题中传递它,如问题片段中所述.
> SplitNetworkTransport-结合http和websocket来创建客户端.我们必须使用httpNetworkTransport和webSocketNetworkTransport

lazy var apollo: ApolloClient = {
    let authPayloads = [
        "Authorization": "Bearer "
    ]
    let configuration = URLSessionConfiguration.default
    configuration.httpAdditionalHeaders = authPayloads

let map: GraphQLMap = authPayloads 
let wsEndpointURL = URL(String: "ws://localhost:8080/subscriptions")!
let endpointURL = URL(String: "http://localhost:8080/api")!
let websocket = WebSocketTransport(request: URLrequest(url: wsEndpointURL),connecTingPayload: map)
let splitNetworkTransport = SplitNetworkTransport(
    httpNetworkTransport: httpNetworkTransport(
        url: endpointURL,configuration: configuration
    ),webSocketNetworkTransport: websocket
)
return ApolloClient(networkTransport: splitNetworkTransport)

}()

let map: GraphQLMap = authPayloads let wsEndpointURL = URL(String: "ws://localhost:8080/subscriptions")! let endpointURL = URL(String: "http://localhost:8080/api")! let websocket = WebSocketTransport(request: URLrequest(url: wsEndpointURL),webSocketNetworkTransport: websocket ) return ApolloClient(networkTransport: splitNetworkTransport)

大佬总结

以上是大佬教程为你收集整理的如何使用apollo ios客户端实现graphql订阅全部内容,希望文章能够帮你解决如何使用apollo ios客户端实现graphql订阅所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。