为了账号安全,请及时绑定邮箱和手机立即绑定

Http 415不支持的媒体类型错误与JSON

Http 415不支持的媒体类型错误与JSON

蝴蝶刀刀 2019-08-28 09:03:56
Http 415不支持的媒体类型错误与JSON我正在使用JSON请求调用REST服务,它给出了Http 415“不支持的媒体类型”错误。请求内容类型设置为(“Content-Type”,“application / json; charset = utf8”)。如果我在请求中不包含Json对象,它可以正常工作。我正在为json使用google-gson-2.2.4库。我尝试使用几个不同的库,但它没有任何区别。有人可以帮我解决这个问题吗?这是我的代码:public static void main(String[] args) throws Exception{     JsonObject requestJson = new JsonObject();     String url = "xxx";     //method call for generating json     requestJson = generateJSON();     URL myurl = new URL(url);     HttpURLConnection con = (HttpURLConnection)myurl.openConnection();     con.setDoOutput(true);     con.setDoInput(true);     con.setRequestProperty("Content-Type", "application/json; charset=utf8");     con.setRequestProperty("Accept", "application/json");     con.setRequestProperty("Method", "POST");     OutputStream os = con.getOutputStream();     os.write(requestJson.toString().getBytes("UTF-8"));     os.close();     StringBuilder sb = new StringBuilder();       int HttpResult =con.getResponseCode();     if(HttpResult ==HttpURLConnection.HTTP_OK){     BufferedReader br = new BufferedReader(new   InputStreamReader(con.getInputStream(),"utf-8"));           String line = null;         while ((line = br.readLine()) != null) {           sb.append(line + "\n");           }          br.close();           System.out.println(""+sb.toString());       }else{         System.out.println(con.getResponseCode());         System.out.println(con.getResponseMessage());       }  }public static JsonObject generateJSON () throws MalformedURLException{    String s = "http://www.abc.com";         s.replaceAll("/", "\\/");     JsonObject reqparam=new JsonObject();     reqparam.addProperty("type", "arl");     reqparam.addProperty("action", "remove");     reqparam.addProperty("domain", "staging");     reqparam.addProperty("objects", s);     return reqparam;}}requestJson.toString的值是:{“type”:“arl”,“action”:“remove”,“domain”:“staging”,“objects”:“ http://www.abc.com ”}
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

不知道的原因,但删除线charset=utf8,从 con.setRequestProperty("Content-Type", "application/json; charset=utf8")解决问题。


查看完整回答
反对 回复 2019-08-28
?
杨魅力

TA贡献1811条经验 获得超6个赞

添加内容类型:application/json并接受:application/json


查看完整回答
反对 回复 2019-08-28
?
Qyouu

TA贡献1786条经验 获得超11个赞

这是因为之后charset=utf8应该没有空格application/json。那会很好。像它一样使用它application/json;charset=utf-8


查看完整回答
反对 回复 2019-08-28
  • 3 回答
  • 0 关注
  • 2095 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信