开发者社区> 问答> 正文

SpringMVC Json数据 转换成Object? 400 报错

SpringMVC Json数据 转换成Object? 400 报错

WEB页面提交一个请求,想把一个Json数据传到controller里面。贴下大概代码

WEB页面Ajax请求

$.ajax({
            url:"index/color/update.json",
            data:arr[0],
            type:"post",
            dataType:"json", 
            contentType: "application/json; charset=utf-8",
            cache:false,
            success:function(data){
            if(dat&&data.success==true){
                alert("保存成功");
            }
            else{
                alert("保存失败");
            }
    },

Spring Config

    <mvc:annotation-driven validator="validator" conversion-service="conversion-service">
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
    </mvc:message-converters>
</mvc:annotation-driven>

Controller

    @RequestMapping(value="/color/update.json",method = RequestMethod.POST)
    public void update(Model model ,@RequestBody List list){
    System.out.println(list.size());
    }

在Controller @RequestBody 如果数据类型用String 可以获取到数据,如果用List不能获取到数据,好像SpringMVC在把Json转换成Object有问题,浏览器提示400 Bad Request折腾几个星期了,网上也看别人的配置,不知道为什么一直都不成功。

求了解的朋友指点下,先谢谢了。



展开
收起
爱吃鱼的程序员 2020-06-03 17:09:44 524 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    ajax里是一个数组 data:arr[0],controller接收两个参数update(Model model ,@RequestBody List list),这样不行吧,我从来没有这样用过######arr[0]={"colorId":2,"colorNum":b002,"colorName":海水蓝,"colorGroup":blue}######arr[0]是json格式,我忘记贴出来了,你的用法可以举个例子吗,麻烦了######一切问题都要从异常着手,你连个异常信息都没,只说报400错误,很难找错哦。。。。。。######这个控制台没有产生异常######

    你把问题想复杂了,spring MVC其实很简单的给你写个例子吧

    been省略get,set方法

    class User(){

    private int id;

    private String uname;

    }

    controller直接方法

    pubilc void update(User user){

    do something...

    }

    ajax

    $.ajax({

    url:'xxx/xxx.do',

    data:{

    id:xxx,

    uname:'xxx'

    }

    })

    ajax的入参属性名必须和bean的属性名一致,spring就能自动绑定对象 

    ######我的代码跟你的一样啊,不知道为什么不行,你能帮我看下我错在哪里吗。上面的代码model没有贴出来。需要贴出来吗?我Q:860075110。######自己解决了,谢谢午后冬日。
    2020-06-03 20:43:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载