使用 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)
方法在请求失败时被调用。