2017-06-17 24 views
2

我有一個只發佈一個對象的工作示例,但我不知道如何發佈對象列表。這裏的IM如何試圖做到這一點:如何postForObject對象列表?

客戶

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); 
} 

但它贏得了不工作

回答

1

問題是通用和類型擦除列表,這將相當於列表<? >在控制器方法中。

創建一個自定義列表類來包裝列表轉換成可以由Spring MVC的

public class EventStudentList extends ArrayList<EventStudent> { 
} 

處理名單,並把它作爲

@RequestMapping(value = "/eventstudent", method = RequestMethod.POST) 
@ResponseBody 
public List<EventStudent> saveRemider(@RequestBody EventStudentList event) { 
    return service.save(event); 
}