简体   繁体   English

如何从发布请求截击中获取字符串响应

[英]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.我有一个 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.我从回收站下载按钮调用这个 api。在这里,我全局声明了我编写 api 代码的管理器。 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.任何人都可以帮助我解决我面临的问题。

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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM