0

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

http://localhost:8080/xy?param1=1¶m2=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);

谢谢!

4

3 回答 3

0

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

摆脱添加帖子正文,并使用Uri.Builder.appendQueryParameter(key, value)在 URL 上手动附加参数。

于 2018-01-31T19:59:42.610 回答
0
int p1=1;
int p2= 2;

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

把这个网址替换为你正在使用的网址..

于 2018-01-31T20:12:27.783 回答
0

因为您使用GET方法,请尝试将参数附加到 url 之类的

int param1Value = 1, param2Value = 2;
String url = "http://localhost:8080/xy?param1=" + param1Value + "&param2=" + param2Value;
于 2018-01-31T20:01:38.207 回答