java - 如何在android中使用retrofit访问404错误?

标签 java android retrofit2

我正在使用改造 2 访问 REST API,以使用原始正文插入 JSON 数据,并且我从服务器获得了成功响应,但在响应中却收到了 404 错误

I want to access 404 error please help me to solve this issue

ApiUtil.getServiceClass().sendFinalCart(new ConfirmCartData(_id, sharedPrefManager.getUserID(), grandtotal,
    grandquantity, DDK, payableprice, redeemQuantityModels)).enqueue(new Callback < CardAddToCart > () {
    @Override
    public void onResponse(Call < CardAddToCart > call, Response < CardAddToCart > response) {
        if (response.isSuccessful()) {
            cardAddToCart = response.body();

            float result = cardAddToCart.getCartSuccess().getBalance();
            float payablePrice = cardAddToCart.getCartSuccess().getPayablePrice();
            float required = cardAddToCart.getCartSuccess().getRequired();


        } else {
            if (response.code() == 404) {
                cardAddToCart = response.body();

                try {
                    success = response.errorBody().string();
                    Toast.makeText(RedeemCartScreen.this, "" + success, Toast.LENGTH_SHORT).show();

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            success = cardAddToCart.getSuccess();
        }
    }

    @Override
    public void onFailure(Call < CardAddToCart > call, Throwable t) {

    }
});    

And my response for 404 error is like this.

{
"success": "not enough balance, pleace recharge ddk wallet",
"result": {
    "balance": 1,
    "payablePrice": 85,
    "amountSaved": null,
    "required": -14.555
}

}

Success response (200).

{
  "success": "transection successfull",
  "result": {
    "balance": 1,
    "payablePrice": 100,
    "amountSaved": 0,
    "required": ""
  }
}

最佳答案

您可以从后端团队获取 json 中的代码,然后可以将结果与代码进行比较,并可以在后端团队发送的代码的帮助下完成您的工作 :-

在您余额不足的状态下:-

{
"success": "not enough balance, pleace recharge ddk wallet",
"code": 200,
"isBalance": false,  //it means you dont have enough balance
"result": {
    "balance": 1,
    "payablePrice": 85,
    "amountSaved": null,
    "required": -14.555
}

在您的成功案例中:-

{
  "success": "transection successfull",
  "code": 200,
  "isBalance": true, // it means you have sufficient balance
  "result": {
    "balance": 1,
    "payablePrice": 100,
    "amountSaved": 0,
    "required": ""
  }
}

关于java - 如何在android中使用retrofit访问404错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56180214/

相关文章:

java - Selenium Web 驱动程序单击图像

java - 我在设置 spring hibernate application-context.xml 时遇到问题

java - 程序在 bufferedreader 关闭时卡住

java - 如何在java中用不同的替换来替换字符串

android - Android Studio非常慢-几乎无法工作

java - 在 Eclipse 中打开一个项目

android - 如何支持所有安卓屏幕尺寸?

android - 如何在 Android 中实现 webhook?

java - 改造 2.0 抛出 "IllegalArgumentException: @Field parameters can only be used with form encoding"。如何进行正确的 API 查询并修复它?

android - 如何在 Retrofit GET 请求中发送对象参数?