欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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错误,控制台查看:

SpringMVC 用@RequestBody接收post json对象(415 Unsupported media type)

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)
});
SpringMVC 用@RequestBody接收post json对象(415 Unsupported media type)
相关标签: @RequestBody 415