ajax异步请求 后台用Spring的@RequestBody接受java对象

2017-12-30 19:58:12来源:CSDN作者:weixin_38362455人点击

分享

今天遇到错误代码:415不支持的媒体类型。

Failed to load resource: the server responded with a status of 415 (Unsupported Media Type)

以前都没遇到这个情况,今天突然遇到,就花了点时间测试整理下

1.首先我们要知道@RequestBody 是用来干嘛的:接受一个JSON’字符串’注意是 字符串 不是JSON对象,如果有与之对应的java实体,会帮助自动转化成java对象。
下面是我遇到的415的错误代码:
前台:一个非常简单的ajax

var student = {    "name":1,    "age":2,    "score":3}$.ajax({                                    url:"student/test/delStudentByPrimaryKey.action",    type:'POST',    dataType:'json',//json 返回值类型    data: JSON.stringify(student),//转化为json字符串    success:function(data){    }});

后台:一个非常简单的接口

@RequestMapping(value = "/delStudentByPrimaryKey")void deleteByPrimaryKey(@RequestBody Student student){        System.out.println(student);}

原本我也认为这样没问题,也按照要求转成JSON字符串了
但是爆炸了:依然415。如下 这是为什么呢???经查是因为下图红框的请求类型不对,默认是图中类型
这里写图片描述

然后前台改为
把context-Type改为application/json;charset=UTF-8
告诉后台 我发送的是JSON字符串,并且后台用@RequestBody接受它,
你就要帮我把他转成对应的实体对象。

$.ajax({                                    url:"student/test/delStudentByPrimaryKey.action",    contentType:"application/json;charset=UTF-8",    type:'POST',    dataType:'json',//json 返回值类型    data: JSON.stringify(student),//转化为json字符串    success:function(data){    }});

成功:
这里写图片描述

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台