簡體   English   中英

如何從發布請求截擊中獲取字符串響應

[英]How to get String response from post request volley

我正在嘗試從發布請求中獲取字符串響應。 在這里,我正在發送一個帖子請求。 我在哪里發送這些數據。 我有一個 BillReceipt 模型。 我將其傳遞給請求正文。

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);
    
    }

我從回收站下載按鈕調用這個 api。在這里,我全局聲明了我編寫 api 代碼的管理器。 並聲明模型名稱。

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

    }
};

任何人都可以幫助我解決我面臨的問題。

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