我正在尝试使用Dojo post(即Dojo.xhrPost()方法发布Json数据。我发现了许多没有解决我问题的解决方案。我正在传递内容类型为'application/json'的json数据。下面是客户端(JS)和服务器(spring MVC控制器)的代码片段。
我在我的Lib文件夹中添加了以下jar用于JSON转换
1.Jackson-Core-ASL-1.9.10.JAR
2.Jackson-Mapper-ASL-1.9.10.jar
3.Jackson-jaxrs-1.9.13.jar
要点:传递的JSON数据格式正确。JSP是我的视图解析器。
var map = dojo.toJson({id:'1',name:'er'})
var xhrArgs = {
url : _context+'/exchangeRate/save-exchange',
postData : map,
handleAs: "json",
headers : {
'Content-Type' : 'application/json,charset=utf-8',
},
load : function(response) {
console.log(response);
},
error : function(error_msg, details) {
alert(error_msg);
console.log(details)
}
}
dojo.xhrPost(xhrArgs);
下面是我的spring控制器方法
@RequestMapping(值=“/ExchangeRate/Save-Exchange”,方法=
RequestMethod.Post,headers={“content-type=application/json”},consumes
=“application/json”,products=“application/json”)
public@responsebody
Map saveExchangeRate(@RequestBody Map Map){
返回新的Hashmap();
}
使用
contentType:'application/json',
代替
handleas:“json”,
添加ACCEPT-header到accept application/json怎么样?
headers : {
'Accept' : 'application/json',
},
此外,您的内容类型头的格式不正确。使用;
代替,
。
headers : {
'Accept' : 'application/json',
'Content-Type' : 'application/json;charset=utf-8',
},
问题内容: 我正在使用JSON请求调用REST服务,并且它以错误响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,则效果很好。我正在使用JSON库。 我尝试使用几个不同的库,但这没什么区别。 有人可以帮我解决这个问题吗? 这是我的代码: 的值为: 问题答案: 不确定原因,但是从中 删除行解决了该问题。
我用JSON请求调用REST服务,它用HTTP 415“不支持的媒体类型”错误进行响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,它就可以正常工作。我正在使用JSON库。 我试着使用了几个不同的库,但没有什么不同。 有人能帮我解决这个问题吗? 这是我的代码: 是:
我必须做的是,我必须在给定的URL中发布JSON数据,其中JSON看起来像 和我的功能 当我张贴它的时候;我得到一个错误 “远程服务器返回错误:(415)不支持的媒体类型。” 有人知道吗;我错在哪里?
问题内容: 自数小时以来,我一直在尝试纠正http错误,但它仍显示不支持的页面。我在邮递员中添加标题。 这是我的Java代码 这是我的档案 问题答案: 通过和如何在响应流和请求流之间对对象进行序列化和反序列化。 将会发生的是,将从提供者的注册表中进行搜索,以查找可以处理的媒体类型。如果找不到,则Jersey无法处理该请求,并将发送415不支持的媒体类型。通常,你还应该在服务器端记录一个异常。不知道
我已经创建了一个示例web服务来进行post调用。 我使用的是Jersey JAX-RS和Maven。