我是使用Android上的Apollo客户端的GraphQL的新手。我正在尝试通过graphQL突变在服务器上注册用户。
我称一个突变,如果用户的数据无效,我将获得http代码422:无法处理的实体,在这种情况下,我将无法获得任何响应详细信息。我使用标准方式拨打电话:
.enqueue(object : ApolloCall.Callback<CreateUserMutation.Data>() {
override fun onFailure(e: ApolloException) {
}
override fun onResponse(response:
Response<CreateUserMutation.Data>) {
}
然后,我进入onFailure块。 ApolloException仅包含http代码描述。但是我想在完整的响应中看到错误的详细信息,我可以通过邮递员看到。我已经尝试过com.apollographql.apollo.ApolloCall.Callback#onHttpError回调,但是networkResponse正文= null。我已经在这里描述了这个问题,但是还没有解决我的问题: https://github.com/apollographql/apollo-android/issues/1166
答案 0 :(得分:1)
执行此操作的方法是检查ApolloException
是否为instanceof ApolloHttpException
。
如果是,则可以从中获取throwable.rawResponse().code()
。
如果不是,则表示不是服务器错误(可能是超时或其他错误)