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

场景: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;
    }

返回结果:

时间: 2025-01-07 23:38:50

Unsupported Media Type 415问题解决办法(Ajax)的相关文章

AFNetworking报错:(415 Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: unsupported media type (415)")

问题? 今天在与后台调接口的时候,遇到一个问题,使用AFNetworking报错,具体如下: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: unsupported media type (415)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse:

RestTemplate远程调用POST请求:HTTP 415 Unsupported Media Type

这是本项目的接口 称为client @POST @Path("/{urlcode}") @Consumes(MediaTypes.JSON_UTF_8) @Produces(MediaTypes.JSON_UTF_8) public String invokePostMethod(String postData); 这是远程被调用的接口 称为server @POST @Path("/{urlcode}") @Consumes(MediaTypes.JSON_UTF_

力所能及之springmvc NetworkError: 415 Unsupported Media Type

小狼今天在测试springmvc中从json字符串自动转换成实体的技术时,出现问题 首先,小狼创建一个web项目,在lib目录下导入springmvc jar文件,这就不细说了,然后加入json支持类库 在webroo目录下加载jquery.js   json2.js jsp文件是这么写的: <html> <head> <title>My JSP 'index.jsp' starting page</title> <script type="

SpringMVC 中HttpMessageConverter简介和Http请求415 Unsupported Media Type的问题

一.概述: 本文介绍且记录如何解决在SpringMVC 中遇到415 Unsupported Media Type 的问题,并且顺便介绍Spring MVC的HTTP请求信息转换器HttpMessageConverter. 二.问题描述: 在SprinvMVC的Web程序中,我在页面发送Ajax 的POST请求,然后在服务器端利用@requestBody接收请求body中的参数,当时运行过程中,我想服务器发送Ajax请求,浏览器一直反馈415 Unsupported Media Type或者40

$.ajax访问RESTful Web Service报错:Unsupported Media Type

最近在项目中,前台页面使用jquery ajax访问后台CXF发布的rest服务,结果遇到了错误"Unsupported Media Type". 发布的服务java代码如下: import javax.jws.WebService; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produ

System.Net.WebException : The remote server returned an error: (415) UNSUPPORTED MEDIA TYPE

I am having problems with a bit of code that accesses a restful web service. Running this code, it errors out at var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); and the exception returned is: "System.Net.WebException : The remote se

调用Restful Service 出现415 Unsupported Media Type的问题(Rest Request Header中的Content-Type问题)

用Chrome的插件Simple REST Client 调用POST的REST服务时,老是报415错误,如图. 一开始就以为是服务端的问题,各种google,百度,折腾了一下午未果. 晚上继续看,一不小心看到返回的Response的Headers中Content-Type的值与冒号之间有一个空格,于是将Request的Content-Type:application/json;charset=UTF-8改成Content-Type: application/json;charset=UTF-8

angularjs - 415 (Unsupported Media Type)

angularJs+springMVC angular表单提交一个user实体时,报 angularjs - 415 (Unsupported Media Type)错误!! 原因是$http({ url:'', method:'', //一下红色整个改为----------------------------data:user即可 params:{ user:user } }).success(function(data){ //.... }).error(function(data){ //

HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)

HTTP请求415错误 – 不支持的媒体类型(Unsupported media type) 通常有以下情况: 1:检查你的 http 请求头信息,比如 因为 User-Agent 被服务器设置 拒绝请求了: 比如你写的的爬虫,就很有可能因为没有伪装成浏览器,被拒绝请求 user-agent 详情 2:查看你的 http 请求方法,以及服务器端的设置 比如:有一个 强制用 post 请求的接口,你是不是用了非post 请求 3:post 请求参数设置,是不是必须的,json 格式 比如下面,两段