ayaz khan
ayaz khan

Reputation: 29

How to get String response from post request volley

I am trying to get a string response from post request. Here, I am sending a post request. where I am sending this data. I have a Model of BillReceipt. Which I pass on the request body.

public void UserTransactionReceiptReport(TransactionTypeListener<String> listener, BillReceipt billReceiptReport){
        final UserSettings userSettings = getMUserSettings();
        final StringBuilder url = new StringBuilder(AppConfigsManager.getTouchServerUrl());
        url.append("/api/User/UserData");
    
        JSONObject  params = new JSONObject();
    
        try{
    
            params.put("iB_CUST_ID",billReceiptReport.getiB_CUST_ID());
            params.put("transactioN_DATE",billReceiptReport.getTransactioN_DATE());
            params.put("transactioN_DATE_NM",billReceiptReport.getTransactioN_DATE_NM());
    
        }catch (Exception e){
            e.printStackTrace();
        }
    
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url.toString(), params
                , new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Gson mapper = new GsonBuilder().create();
    
                try{
    
                    Type type = new TypeToken<APIResponse<String>>() {
                    }.getType();
                    APIResponse<String> responseObject = mapper.fromJson(response.toString(), type);
    
                    if(responseObject.Status == APIStatus.OK){
                        listener.didFetch(responseObject.Result, responseObject.Message);
                    }else {
                        listener.didError(responseObject.Message);
                    }
    
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                listener.didError(error.getMessage());
            }
        })
    
        {
            @Override
            public Map<String, String> getHeaders() {
                return getAuthorizationTokenHashMap(getMUserSettings());
            }
        };
        addVolleyRequest(request);
    
    }

and I call this api from recycler download button.Here , I globally declared the manager where i write the api code. and also declare a the model name.

    holder.downloadBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            manager.UserTransactionReceiptReport(listener,billReceiptReport);
        }
    });
}

private  final TransactionTypeListener<String>  listener = new TransactionTypeListener<String>() {
    @Override
    public void didFetch(String response, String message) {
        str =  response;


    }

    @Override
    public void didError(String message) {

    }
};

any one help me to solve the problem i am facing.

Upvotes: 0

Views: 570

Answers (1)

Ajay Pradhan
Ajay Pradhan

Reputation: 66

Try this code
<code>
   JSONObject jsonObject = new JSONObject(response);
                            System.out.println("jsonWallet----" + jsonObject);
                            int status_ = jsonObject.getInt("status");
                            if(status_ == 1){
                               String  incomeWalletBal = jsonObject.getString("income_wallet");
                              String  refundWalletBal = jsonObject.getString("refund_wallet");
                               
                            }else {

                            }
</code>

Upvotes: 1

Related Questions