尝试通过android调用JSON api时出现无效请求错误

Posted

技术标签:

【中文标题】尝试通过android调用JSON api时出现无效请求错误【英文标题】:invalid request error when trying to call a JSON api through android 【发布时间】:2020-04-11 22:13:18 【问题描述】:

我正在尝试通过 android 调用 API,它给出了无效请求错误。

而 API 在 POSTMAN 中给出正确的结果。

我正在使用以下代码。下面的代码有问题吗。

 String url ="http://apiaddress";

// POST parameters
 Map<String, String> params = new HashMap<String, String>();
 params.put("tag", "test");

  JSONObject jsonObj = new JSONObject(params);

// Request a json response from the provided URL
  JsonObjectRequest jsonObjRequest = new JsonObjectRequest
  (Request.Method.POST, url, jsonObj, new Response.Listener<JSONObject>()
    
        @Override
        public void onResponse(JSONObject response)
        
            System.out.print("JSOn Object:"+jsonObj.toString());
        
     );

【问题讨论】:

你有什么异常吗?如果是,请编辑问题并从 logcat 发布堆栈跟踪。如果没有,请检查该网址是否可以通过手机访问。 尝试在清单中检查您的权限,如互联网等。 看到这个***.com/questions/41935546/… System.out.print("JSOn 对象:"+jsonObj.toString());在这一行中,它显示了无效的请求 【参考方案1】:

在 Volley 中,JsonObjectRequest 似乎不适用于 POST 请求。请改用StringRequest

也请查看answer。

另外,override getParamsStringRequest 方法并将您的参数作为 map 返回。

【讨论】:

以上是关于尝试通过android调用JSON api时出现无效请求错误的主要内容,如果未能解决你的问题,请参考以下文章