前台传json对象数组,java后台用List接受时报错

spring 项目中的controller是不是不能直接接受对象类型的List为入参?为什么?找了很多相关文档,都说不行,要不就传一个vo类,vo类里面有list,要不就传字符串,后台解析字符串

spring boot 项目:

public class Tag {

int id;



String name;

此处省略了get,set

}

@RestController

public class HelloController {

@RequestMapping(value = "add", consumes = "application/json; charset=utf-8")

public String add(@RequestBody List<Tag> param) {

   System.out.println("param:" + param);

   return "成功";

}

}

commit(){

$.ajax({

    type:"post",

    url: 'add',

    contentType:"application/json; charset=utf-8",

    dataType:"json",

   data:{

       param:JSON.stringify([{id:1,name:'hello'},{id:2,name:'hello'}])

   },

   success:function(data){

       console.log(data);

   }

})

}

后台报错信息:

2018-01-29 13:52:57.856 WARN 3148 --- [nio-8088-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'param': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'param': was expecting ('true', 'false' or 'null')

阅读 8.7k
1 个回答

data:JSON.stringify([{id:1,name:'hello'},{id:2,name:'hello'}])

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题