Spring Restful Array对象作为输入

时间:2016-07-13 17:32:46

标签: java jquery arrays rest spring-mvc

我正在服务器端读取空数据。请帮忙。

我的java脚本代码片段:

$.ajax({
    type: "post",
    url: "services/save",
    data: items,
    success: saveSuccess
});

JSON数据:

[{"id":"SRMS12345","status":"backlog","text":"Make a new Dashboard","content":"New content","tags":"SRMS12345,05-Jul-16","color":"#ffcc66","resourceId":"A70729","className":""},{"id":"SRMS17147","status":"sit","text":"Prepare new release","content":"New content","tags":"SRMS17147,05-Apr-16","color":"#ff7878","resourceId":"A70729","className":""},{"id":"INC2311424","status":"pv","text":"One item added to the cart","content":"New content","tags":"INC2311424,06-Jun-16","color":"#96c443","resourceId":"C02153","className":""},{"id":"INC3215575","status":"uat","text":"Edit Item Price","content":"New content","tags":"INC3215575,02-Oct-16","color":"#96c443","resourceId":"A71787","className":""},{"id":"SRMS15645","status":"backlog","text":"Login 404 issue","content":"New content","tags":"SRMS15645,02-Aug-16","color":"#96c443","resourceId":0,"className":""}]

休息控制器:

@RestController
public class Services {
    @RequestMapping(value="/save", method=RequestMethod.POST)
    public boolean saveTaskStatus(ArrayList<AssignmentVO> assignments) {
    System.out.println(assignments);
    return true;
    }
}

输出:

[]

2 个答案:

答案 0 :(得分:0)

我认为你没有告诉Spring你发送的数据在哪里。

您需要将 @RequestBody 添加到赋值参数,以便Spring可以知道数据的位置。

您可以阅读这篇文章。 http://www.leveluplunch.com/java/tutorials/014-post-json-to-spring-rest-webservice/

答案 1 :(得分:0)

我终于开始工作了。感谢reos。 我必须添加以下内容才能使其正常工作

  1. @ResponseBody to method Parameter(谢谢reos)
  2. 将ContentType和dataType添加到Ajax调用
  3. 将JSON.stringify添加到ajax调用。 Ajax调用不会自动进行字符串化
  4. 这是代码

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: "POST",
        url: "services/save",
        data: JSON.stringify(items),
        success: saveSuccess
    });