我有简单的问题在POST上调用哪种方法以及在GET上调用哪种方法。
这是我的简单类:
public class CustomStringRequest extends Request<CustomNetworkResponse> {
private final Map<String, String> headers;
private final Map<String, String> params;
private final String body;
private final Response.Listener<CustomNetworkResponse> listener;
public CustomStringRequest(int method,
String url,
Map<String, String> headers,
Map<String, String> params,
String body,
Response.Listener<CustomNetworkResponse> listener,
Response.ErrorListener errorListener) {
super(method, url, errorListener);
this.headers = headers;
this.params = params;
this.body = body;
this.listener = listener;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return headers != null ? headers : super.getHeaders();
}
@Override
public Map<String, String> getParams() {
return params;
}
@Override
public byte[] getBody() throws AuthFailureError {
return body != null ? body.getBytes() : null;
}
如何同时使用getParams()和getBody()?是否有可能,因为当我检查超级实现时,我认为这是不可能的。
我还注释了方法getBody()以查看为真。
这是否意味着我无法使用正文和url参数发送POST? url参数是否意味着用于GET请求?这是标准吗?
答案 0 :(得分:0)
嗯,我不确定你的意图是什么!您始终可以使用您的网址参数附加网址(如果参数很简单)。然后,您可以使用getParams()
或getBody()
传递更复杂的参数。
我认为这两者之间的区别在于你的参数在网络中传输时的编码(虽然我不是100%肯定的)但是是的。 getBody()
更安全。