как получить доступ к ошибке 404 с помощью модернизации в Android? - PullRequest
0 голосов
/ 17 мая 2019

Я получаю доступ к REST API, используя модификацию 2 Чтобы вставить данные JSON с необработанным телом, я получаю ответ об успешном завершении с сервера, но в то время как я получаю ошибку 404 с ответом

Я хочу получить доступ к ошибке 404, пожалуйста, помогите мне решить эту проблему

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) {

    }
});    

И мой ответ на ошибку 404 выглядит следующим образом.

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

}

Успешный ответ (200).

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

1 Ответ

1 голос
/ 17 мая 2019

Вы можете получить коды в вашем 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": ""
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...