如果http代码不是200,如何使用Apollo client for GraphQL在Android上获取响应数据?
我是在Android上使用Apollo客户端的GraphQL新手。我正在尝试通过graphQL注册服务器上的用户 我调用了一个变异,若用户的数据无效,我将得到http代码422:不可处理实体,在这种情况下,我无法获得任何响应细节。我使用标准方式打电话:如果http代码不是200,如何使用Apollo client for GraphQL在Android上获取响应数据?,android,http,graphql,apollo,Android,Http,Graphql,Apollo,我是在Android上使用Apollo客户端的GraphQL新手。我正在尝试通过graphQL注册服务器上的用户 我调用了一个变异,若用户的数据无效,我将得到http代码422:不可处理实体,在这种情况下,我无法获得任何响应细节。我使用标准方式打电话: .enqueue(object : ApolloCall.Callback<CreateUserMutation.Data>() { override fun onFailure(e: Apol
.enqueue(object : ApolloCall.Callback<CreateUserMutation.Data>() {
override fun onFailure(e: ApolloException) {
}
override fun onResponse(response:
Response<CreateUserMutation.Data>) {
}
.enqueue(对象:ApolloCall.Callback(){
覆盖失效(e:异常){
}
覆盖响应(响应:
(答复){
}
在这之后,我进入了onFailure块。ApolloException只包含http代码描述。但是我想在完整的响应中看到错误详细信息,我可以通过邮递员看到。我已经尝试过com.apollographql.apollo.ApolloCall.Callback#onHttpError回调,但是networkResponse body=null。我已经在这里描述了这个问题,但是没有“我没有解决我的问题:
执行此操作的方法是检查
ApolloException
是否是ApolloHttpException的实例
如果是,您可以从中获取可丢弃的.rawResponse().code()
如果不是,则表示不是服务器错误(可能是超时或其他错误)