gpt4 book ai didi

graphql - Android apollo 订阅不起作用?

转载 作者:行者123 更新时间:2023-12-04 04:07:47 24 4
gpt4 key购买 nike

我需要在我的 Android 应用中集成订阅subscriptiongraphiql 中的 localhost 上运行良好。我已经在 Heroku 上部署了我的后端。我正在使用 apollo-server 而不是 hasura。我的 订阅 不适用于 Heroku 给出的 url,但它在 localhost 上运行良好。 Queriesmutations 适用于 localhostHeroku url。所以我正在尝试从我的 Android 客户端访问我的订阅。我将基本 url 保留为我的本地主机。我已经为 localhost 正确配置了我的 Android 模拟器,queriesmutations 部分适用于我的 Android 客户端,但我的订阅部分不工作。

我已经为 subscription 配置了我的 Apollo 客户端

.subscriptionTransportFactory(WebSocketSubscriptionTransport.Factory(baseUrl,okHttpClient))

我的订阅代码如下所示

val healthConsultationSubscriptionList = GetHealthConsultationSubscription.builder().build()
apolloClient.subscribe(healthConsultationSubscriptionList).execute(object :
ApolloSubscriptionCall.Callback<GetHealthConsultationSubscription.Data> {
override fun onFailure(e: ApolloException) {
Log.i("datafailure","${e.message} ${e.localizedMessage} ${e.cause}" )
}

override fun onResponse(response: Response<GetHealthConsultationSubscription.Data>) {
Log.i("datais", response.data()?.healthConsultation()?.chiefComplaint().toString() )
}

override fun onConnected() {
Log.i("dataconnected","Connected")
}

override fun onTerminated() {
Log.i("dataterminated","Terminated")
}

override fun onCompleted() {
Log.i("datacompleted","Completed")
}

})

但我一直收到一条错误消息,提示 Subscription failed Subscription failed java.net.ProtocolException: Expected HTTP 101 response but was '400 Bad Request'

此外,当我使用 Graphiql 进行订阅并将 localhost 替换为我的订阅的 Heroku url 时,我收到以下错误。

enter image description here

我面临的这两个问题是否相互关联?

最佳答案

所以我的代码没有问题。问题出在我使用的 Heroku 的免费层。我尝试用 Hasura 的 订阅替换我的订阅 https://hasura.io/learn/graphql/android/subscriptions/1-subscription/并且有效。

关于graphql - Android apollo 订阅不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62241232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com