使用 JSONArray 作為請求主體
在排球中整合的預設請求不允許在 POST
請求中將 JSONArray
作為請求主體傳遞。相反,你只能將 JSON
物件作為引數傳遞。
但是,不是將 JSON
物件作為引數傳遞給請求建構函式,而是需要覆蓋 Request.class
的 getBody()
方法。你還應該將 null
作為第三個引數傳遞:
JSONArray requestBody = new JSONArray();
new JsonObjectRequest(Request.Method.POST, REQUEST_URL, null, RESP_LISTENER, ERR_LISTENER) {
@Override
public byte[] getBody() {
try {
return requestBody.toString().getBytes(PROTOCOL_CHARSET);
} catch (UnsupportedEncodingException uee) {
// error handling
return null;
}
}
};
引數說明:
REQUEST_URL
- 傳送你的請求的完整 URL。RESP_LISTENER
- 一個Response.Listener<?>
物件,成功完成後呼叫onResponse(T data)
方法。ERR_LISTENER
- 一個Response.ErrorListener
物件,其onErrorResponse(VolleyError e)
方法在請求失敗時被呼叫。