当前位置: 首页 > 面试题库 >

如何获得响应主体以改装异常?

乐正乐湛
2023-03-14
问题内容

我正在尝试通过android应用程序中的改造连接到Rest服务。我正在得到回应。但是,当服务有一些错误响应时,就会发生转换异常,现在我想根据响应主体执行一些操作。但是我得到的响应主体为NULL。但是改造日志中有一条错误消息。为什么会这样。

D/Reftofit log(24856): OkHttp-Received-Millis: 1397527055676
D/Reftofit log(24856): OkHttp-Response-Source: NETWORK 200
D/Reftofit log(24856): OkHttp-Sent-Millis: 1397527055492
D/Reftofit log(24856): Server: Apache/2.2.22 (Ubuntu)
D/Reftofit log(24856): X-Powered-By: PHP/5.3.10-1ubuntu3.10
D/Reftofit log(24856): {"result":"Invalid Token ID"}

码:

public void failure(RetrofitError retrofitError) {
    String response = null;
    TokenError tokenError = (TokenError) retrofitError.getBodyAs(TokenError.class);
    response = tokenError.getErrorDetails();
    Log.e(TAG, response);
    if (response != null && response.contains("Invalid Token ID")) {
        GroupDataProvider.getInstance().onFailure();
    }

}

在这里,我得到tokenErrornull。不知道为什么 我是否需要使用rest适配器进行设置,以便将响应传递到改造错误对象。


问题答案:

试试这个代码:

@Override
public void failure(RetrofitError error) {
    String json =  new String(((TypedByteArray)error.getResponse().getBody()).getBytes());
    Log.v("failure", json.toString());
}

Retrofit 2.0

@Override
public void onFailure(Call<Example> call, Throwable t) {
    String message = t.getMessage();
    Log.d("failure", message);
}


 类似资料:
  • 问题内容: 我正在尝试为我公司正在开发的API编写包装器。这很安静,使用邮递员,我可以向用户端发送一个邮寄请求,例如使用用户名和密码作为POST数据,并且还给我一个令牌。所有工作均按预期进行。现在,当我尝试从PHP中进行操作时,我得到了一个对象,但似乎无法像在Postman请求中那样在其内部的任何地方找到令牌。 相关代码如下: 上面代码的输出看起来像(警告,文本输入墙): Postman的输出如下

  • 因此,当我对服务器进行POST API调用时,我得到一个带有JSON响应的400 Bad Request错误。 我管它叫 然而,问题是,一旦我得到响应,就调用onFailure(),这样就调用了//bb。在这里,我无法访问JSON响应。当我记录api请求和响应时,它根本不显示JSON响应。而可抛出的t是IOException。然而,奇怪的是,当我对Postman进行相同的调用时,它确实返回了预期的

  • 在新的改型中,我正在打电话,并在响应和故障上覆盖两种方法。 如果对我的类模型进行了成功的解析响应改装,我可以得到简单的响应,但是如果(!response.issueccessful())我如何获得服务器响应呢? 我看到代码错误。原始反应。错误体。但没有看到来自服务器的响应。这是我的错误从服务器...如何从响应得到它?

  • 如何将此Json响应转换为改装bean我得到了Gson错误,就像使用JsonReader一样。setLenient(true)在第1行第1列路径接受格式错误的JSON$ api调用为 字符串CATEGORY\u API=“”https://api.callingservice.com"; 请帮助我解决这个问题,如何将Json响应转换为Bean,我的Bean类如下

  • 我使用的是改型2,我需要处理JSON格式的响应错误。下面是响应主体的示例。 包含有错误的字段列表,这意味着该值是动态的。因此,可能的解决方案之一是将响应体解析为JSON对象。我尝试使用 不幸的是,打印我只能得到以下结果

  • 我正试图通过改型2获得原始响应。0.2. 到目前为止,我试图使用以下代码行打印响应,但它打印的是地址,而不是确切的响应正文。 日志i(“原始消息”,response.body()。toString());