gpt4 book ai didi

android - Volley 不调用 getParams()

转载 作者:太空狗 更新时间:2023-10-29 16:32:24 25 4
gpt4 key购买 nike

我正在尝试使用 Android 中的 Volley 将一些参数发布到我的 Rails API。这是代码:

对于 Request.Method,我尝试了 POST/GET/PUT 没有任何效果。

我试图在 getParams() 中调用一个日志语句,它被记录了,但参数没有添加到 URL。

StringRequest sr = new StringRequest(Request.Method.GET, Links.URL_login, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
Log.d(TAG, "" + error.getMessage() + "," + error.toString());
}
}){
@Override
protected Map<String,String> getParams(){

Log.d(TAG, "called?");

Map<String, String> params = new HashMap<String, String>();
params.put("email", "daniel");
params.put("pw", "123");

return params;
}

@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> headers = new HashMap<String, String>();
headers.put("Content-Type","application/x-www-form-urlencoded");
headers.put("abc", "value");
return headers;
}
};

MySingleton.getInstance(getApplicationContext()).addToRequestQueue(sr);

最佳答案

如果服务器读取的是键值对,那么使用这个

    Uri.Builder builder = Uri.parse(Links.URL_login).buildUpon();
builder.appendQueryParameter("email", "me@email.com");
builder.appendQueryParameter("pw", "mypwd");

String loginUrl=builder.build().toString();
StringRequest sr = new StringRequest(Request.Method.GET, loginUrl......

@vovaxo 说 GET 请求永远不会调用 getParams() 方法。

关于android - Volley 不调用 getParams(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com