我試圖做一個請求MVC服務器與web-api使用排在android中,我想發送函數的參數作爲JSON(請求正文),所以我使用JSONRequest進行調用,但問題是JSONRequest強制您使用Response.Listner,並且我調用的函數返回布爾變量,所以每次撥打電話時都會收到投射錯誤接收布爾變量與json請求凌空
我試圖做一個自定義調用,接受布爾值,但現在我得到錯誤400,我不知道爲什麼,有沒有辦法讓jsonRequest接收布爾?如果不是,解決方案是什麼?
我第一次使用的功能:
public void getJSON(String controllerName,String actionName, JSONObject requestBody,Response.Listener<JSONObject> success,Response.ErrorListener error){
String url = makeURL(controllerName,actionName);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST,url,requestBody,success,error);
request.setTag(APP_TAG);
requestQueue.add(request);
}
,這裏是我的第二次審判定製請求(收到錯誤400):
public void getBooleanRequest(String controllerName,String actionName, final HashMap<String,String> body, final HashMap<String,String> header, final Response.Listener<Boolean> success,Response.ErrorListener error){
String url = makeURL(controllerName,actionName);
Request<Boolean> request = new Request<Boolean>(Request.Method.POST,url,error) {
@Override
protected Response<Boolean> parseNetworkResponse(NetworkResponse response) {
return Response.success(true, HttpHeaderParser.parseCacheHeaders(response));
}
@Override
protected void deliverResponse(Boolean response) {
success.onResponse(response);
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
return body;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return header;
}
};
request.setTag(APP_TAG);
requestQueue.add(request);
}
你可以創建一個自定義的請求,然後parseNetworkResponse獲得所需的數據(布爾值) – BNK
你的意思是覆蓋jsonrequest響應? –