【发布时间】:2015-01-01 14:25:44
【问题描述】:
我是春天的新手。我生成如下 JSON:
[
{
"customer" : "16", "project" : "19",
"phase" : "47", "approver" : "5",
"date1" : "", "date2" : "",
"date3" : "", "date4" : "",
"date5" : "", "date6" : "",
"date7" : "", "activity" : "1"
},
{
"customer" : "17", "project" : "20",
"phase" : "48", "approver" : "3",
"date1" : "", "date2" : "",
"date3" : "", "date4" : "",
"date5" : "", "date6" : "",
"date7" : "", "activity" : "1"
}
]
我将此 JSON 传递给我的 Spring 控制器:
$.ajax({
type: 'post',
url: 'NewTimesheet',
dataType : 'json',
data: JSON.stringify(jsonObj),
success: function(data) {
console.log(data);
}
});
我将请求映射到控制器,如下所示:
@RequestMapping(value="NewTimesheet", headers = { "Content-type=application/json" })
@ResponseBody
public String addNewTimesheet(@RequestBody List<Timesheet> timesheet,
HttpSession session) {
logger.info("timesheet list size is" + timesheet.size());
return "success";
}
Timesheet类:
public class Timesheet {
private String project;
private String phase;
private String approver;
private String customer;
private String date1;
private String date2;
private String date3;
private String date4;
private String date5;
private String date6;
private String date7;
private String activity;
//Getters and setters
}
但是我的请求没有映射到控制器。我的控制台显示如下:
警告 org.springframework.web.servlet.PageNotFound.handleNoSuchRequestHandlingMethod:142 - 没有为 servlet 请求找到匹配的处理程序方法:路径“/NewTimesheet”、方法“POST”、参数 地图['[{"客户":"16","项目":"19","阶段":"47","审批人":"5","date1":"","date2":"" ,"date3":"","date4":"","date5":"","date6":"","date7":"","activity":"1"},{"customer": "17","project":"20","phase":"48","approver":"3","date1":"","date2":"","date3":""," date4":"","date5":"","date6":"","date7":"","activity":"1"}]' -> 数组['']]
如何将我的 JSON 映射到控制器?任何帮助将不胜感激!!!
【问题讨论】:
-
您是否在项目中包含了所有必要的 Jackson 依赖项(核心和数据绑定)?
标签: java jquery ajax json spring