当前位置: 首页 > 知识库问答 >
问题:

415 Dojo和spring MVC不支持的媒体类型错误

夏侯彬郁
2023-03-14

我正在尝试使用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();

}

共有2个答案

羊舌承颜
2023-03-14

使用
contentType:'application/json',
代替
handleas:“json”,

毕嘉
2023-03-14

添加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。