我是 GraphQL 的新手,所以我想在开始我自己的项目之前测试一些东西。作为测试数据库,我在我的应用程序中使用Prisma测试数据库和服务以及Apollo Android作为库。我几乎完成了query
and mutation
。作为下一个我想用subscription
. 所以,我的 graphql 订阅看起来像:
subscription observer {
post {
mutation
node {
id
title
text
isPublished
}
}
}
由于 Apollo Android 库会根据我的 graphql 代码生成一些类,因此我尝试observer
像这样使用订阅:
Interceptor interceptor = chain -> chain.proceed(chain.request());
OkHttpClient ohc = new OkHttpClient.Builder().addInterceptor(interceptor).build();
ApolloClient mApolloClient = ApolloClient.builder().serverUrl(ENDPOINT).okHttpClient(ohc).build();
mApolloClient.subscribe(ObserverSubscription.builder().build()).execute(new ApolloSubscriptionCall.Callback<ObserverSubscription.Data>() {
@Override
public void onResponse(@NotNull Response<ObserverSubscription.Data> response) {
// do work here
}
@Override
public void onFailure(@NotNull ApolloException e) {
// catch exception
}
@Override
public void onCompleted() {
// some other stuff goes here
}
});
执行以下代码时抛出异常:
java.lang.IllegalStateException:未配置订阅管理器
我的问题是有什么方法可以在 Android 应用程序中使用 apollo-android 订阅?