今天与后台交互的时候遇到了一个问题,
给出的错误提示是 ”Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported“
问题出现的原因是提交给后台的是表单数据,而后台需要的是json格式的数据。
解决方法很简单,将传的数据改为json格式就可以了:
如下操作可以构造正确的请求体。
JSONObject jsonObject = new JSONObject();
jsonObject.put("oldPassword",originalPsw);
jsonObject.put("newPassword",newPsw);
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(JSON, jsonObject.toString());
附:
常用的Content-type的方式
application/x-javascript text/xml->xml数据 application/x-javascript->json对象 application/x-www-form-urlencoded->表单数据 application/json;charset=utf-8 -> json数据