我正在尝试使用 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}]}]}]