1

我有一个简单的问题,在 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 请求?这是标准吗?

4

1 回答 1

0

好吧,我不确定你的意图是什么!您始终可以使用您的 url 参数附加 url(如果参数那么简单)。然后你可以使用getParams()orgetBody()来传递更复杂的参数。

我认为这两者之间的区别在于参数通过网络传输时的编码(尽管我对此不是 100% 确定)但是是的。getBody()更安全。

于 2016-05-15T16:48:06.597 回答