SpringMVC 用@RequestBody接收post json对象(415 Unsupported media type)
程序员文章站
2022-03-20 08:23:29
...
在Controller里面的参数声明成@RequestBody,前端传参必须以json格式传入,否则报415错误。
1、后台controller中声明@ReuqestBody:
//更新通信日志审计规则
@RequestMapping(value = "/update-comm-rule", method = RequestMethod.POST)
@ResponseBody
public AjaxResult updateCommRule(@RequestBody List<CommRuleParam> commRuleParamList) {
commRuleService.updateCommRule(commRuleParamList);
return AjaxResult.success();
}
2、在前段控制台输入ajax请求:
$.ajax({
type:"post",
url:"/update-comm-rule",
data:"[{'protocol':'FTP','isLog':'1'},{'protocol':'HTTP','isLog':'1'}]",
dataType:'JSON'
}).then(function(obj){
console.log(obj)
});
报415错误,控制台查看:
application/x-www-form-urlencoded:窗体数据被编码为名称/值对。这是标准的编码格式。这是默认的方式。
修改Content-Type为application/json:
$.ajax({
type:"post",
url:"/update-comm-rule",
data:'[{"protocol":"FTP","isLog":"1"},{"protocol":"HTTP","isLog":"1"}]',
dataType:'JSON',
contentType : 'application/json;charset=UTF-8'
}).then(function(obj){
console.log(obj)
});
上一篇: php如何计算两个时间之间相差几个月