Android Volley JsonObjectRequest格式:http:// localhost:8080 / xy?param1 =1¶m2= 2

时间:2018-01-31 19:55:12

标签: android android-volley jsonobjectrequest

我正在尝试使用以下格式发送Volley JsonObjectRequest(GET)参数:

http://localhost:8080/xy?param1=1&param2=2

我的问题是,如果param1为“1”且param2为“2”,我应该得到响应代码200(OK)。但我总是得到错误的响应代码。 所以我认为,请求的格式错误。

Map<String, String> params = new HashMap();
            params.put("param1", "1");
            params.put("param2", "2");
            JsonObjectRequest jsObjRequest = new JsonObjectRequest
                    (Request.Method.GET, "http://localhost:8080/xy", new JSONObject(params), new Response.Listener<JSONObject>() {

                        @Override
                        public void onResponse(JSONObject response) {

                        }
                    }, new Response.ErrorListener() {

                        @Override
                        public void onErrorResponse(VolleyError error) {
                            // TODO Auto-generated method stub

                        }
                    });

            // Access the RequestQueue through your singleton class.
            QueueSingleton.getInstance(LoginActivity.this).addToRequestQueue(jsObjRequest);

谢谢!

3 个答案:

答案 0 :(得分:0)

现在,您提供的JsonObject(params)作为请求的正文,这是不正确的。我不认为Volley会在GET请求中将您提供的JSON对象附加到您的URL ...所以您需要自己执行此操作。

删除添加帖子正文,然后使用Uri.Builder.appendQueryParameter(key, value)在网址上手动附加参数。

答案 1 :(得分:0)

因为您使用 GET 方法,请尝试使用url附加params

int param1Value = 1, param2Value = 2;
String url = "http://localhost:8080/xy?param1=" + param1Value + "&param2=" + param2Value;

答案 2 :(得分:0)

int p1=1;
int p2= 2;

string url= "http://localhost:8080/xy?param1="+p1+"&param2="+p2;

把这个网址放在你正在使用的网址上。