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 をいつでも追加できます (パラメーターが単純な場合)。And Then You を使用してgetParams()getBody()より複雑なパラメーターを渡すことができます。

これら2つの違いは、ネットワークを通過する際のパラメーターのエンコードだと思いますが(これについては100%確信が持てませんが)、はい。getBody()より安全に。

于 2016-05-15T16:48:06.597 に答える