Android Volley -使POST与主体和url参数- getParams和getBody同时



我有一个简单的问题,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()方法,看看它是否为真。

这是否意味着我不能发送POST与正文和url参数?url参数意味着用于GET请求??这是标准吗?

我不知道你的意图是什么!你总是可以在url后面加上你的url参数(如果参数那么简单的话)。然后你可以用getParams()getBody()传递更复杂的参数。

我认为这两者之间的区别是你的参数的编码,而他们通过网络旅行(虽然我不是100%确定),但是的。getBody()更安全。

相关内容

  • 没有找到相关文章

最新更新