【发布时间】:2014-02-06 15:21:45
【问题描述】:
我正在尝试使用 jquery-ajax 将 POST 数据从我的 jsp 传递到我的 Spring-MVC 控制器函数。数据传递良好,当我使用 String 对象接收 RequestBody 时,我可以打印 JSON 数据。 但是当我使用一个 DTO 时,它有一个用自己的对象声明的 List 变量,控制器返回一个 '415 Unsupported Media Type Error' 并带有以下语句,
服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持。
下面给出的是 DTO 类
public class anyClassDTO{
private String name;
private List<anyClassDTO> subList = new ArrayList<anyClassDTO>();
//getters and setters here
}
现在,这里是控制器功能
@RequestMapping(headers ={"Accept=application/json"}, value = "urlFromJsp", method = RequestMethod.POST)
public @ResponseBody
String addData (HttpServletRequest request,
@RequestBody List<anyClassDTO> dtoObject,
Model model)
{
return "{\"value\":\"true\"}";
}
难道不能通过 AJAX 从 jsp 页面接收对象列表到控制器吗?
这是一组从jsp传递过来的样本数据
[{"name":"module1","subList":[{"name":"chapter1","subList":[{"name":"subchapter1","subList":null}]}] },{"name":"module2","subList":[{"name":"chapter1","subList":[{"name":"subchapter1","subList":null}]}]}]
【问题讨论】:
-
对于我认为您遇到的问题,这是一个奇怪的错误。如果你给我们你正在使用的 Spring 版本可能会有所帮助。
-
spring 版本是 3.1,Jackson Mapper 库是 2.3.0
-
@SotiriosDelimanolis 你能告诉我你认为我有什么“那个”问题吗?
标签: json spring jquery spring-json