我有一个只发布一个对象的工作示例,但我不知道如何发布对象列表。以下是我试图这样做的方法:
客户端
protected List<EventStudent> doInBackground(Object... params) {
RestTemplate template = new RestTemplate();
template.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
EventStudent[] array = new EventStudent[event.size()];
event.toArray(array);
template.postForObject(URL.GET_EVENT_INFO ,array, EventStudent[].class);
return event;
}
这就是我试图让它们在服务器上的方式:
服务器
@RequestMapping(value = "/eventstudent", method = RequestMethod.POST)
@ResponseBody
public List<EventStudent> saveRemider(@RequestBody List<EventStudent>event) {
return service.save(event);
}
但它不起作用
答案 0 :(得分:1)
问题是List的通用和类型擦除,这相当于List&lt; ? &GT;在控制器方法中。
创建一个自定义列表类,只是为了将List包装到可以由spring mvc
处理的List中public class EventStudentList extends ArrayList<EventStudent> {
}
并将其用作
@RequestMapping(value = "/eventstudent", method = RequestMethod.POST)
@ResponseBody
public List<EventStudent> saveRemider(@RequestBody EventStudentList event) {
return service.save(event);
}