码迷,mamicode.com
首页 > Web开发 > 详细

Unsupported Media Type 415问题解决办法(Ajax)

时间:2016-10-26 14:01:53      阅读:1354      评论:0      收藏:0      [点我收藏+]

标签:system   ping   src   格式   stat   返回结果   没有   java   class   

场景:Ajax传一个jsuon对象到服务器,让参数自动封装至与json对象匹配的java对象中。

 

错误类型

  • 错误类型1:

"status":415

"error":"Unsupported Media Type"

"exception":"org.springframework.web.HttpMediaTypeNotSupportedException"

原因:没有使用JSON.stringify(rowData)方法将请求参数转化为json字符串

 

  • 错误类型2:

"status":400

"error":"Bad Request"

"exception":"org.springframework.http.converter.HttpMessageNotReadableException"

原因:未使用[contentType : ‘application/json‘,]配置指定请求参数格式。

 

正确代码

  js代码:

  rowData:是easyui datagrid表格的一行数据,和服务器的一个java类Condition对象属性完全匹配。
JSON.stringify(rowData):将rowData对象解析成字符创。
            $.ajax({
                type : ‘PUT‘,
                url : url,
                dataType : ‘json‘,
         contentType : ‘application/json‘,
data : JSON.stringify(rowData), beforeSend : function () { // .... }, success : function (data) { // 返回的RequestResult的json对象 console.log(data); }, });

  spring boot Controller 接收参数的 java代码:

    @RequestMapping(value = "/test", method = RequestMethod.PUT)
    public @ResponseBody RequestResult modifyCondition(@RequestBody Condition condition) {
        System.out.println("condition:" + condition.toString());
        // 创建假返回数据
        RequestResult result = new RequestResult();
        result.setCode(0);
        result.setMessage("success");
        return result;
    }

    返回结果:

技术分享

Unsupported Media Type 415问题解决办法(Ajax)

标签:system   ping   src   格式   stat   返回结果   没有   java   class   

原文地址:http://www.cnblogs.com/zj0208/p/5999824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!