簡體   English   中英

Android Volley-使用body和url參數進行POST-同時獲取getParams和getBody

[英]Android Volley - make POST with body and url parameters - getParams and getBody at the same time

我有一個簡單的問題,即在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()方法,以查看多數民眾贊成在哪。

這是否意味着我無法發送帶有body和url參數的POST? url參數是否打算用於GET請求? 這是標准嗎?

好吧,我不確定您的意圖是什么! 您始終可以在url后面附加url參數(如果參數很簡單)。 然后,您可以使用getParams()getBody()傳遞更復雜的參數。

我認為這兩者之間的區別是您的參數在通過網絡傳播時的編碼(盡管我對此不是100%肯定),但是可以。 getBody()更安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM