我已经创建了一个示例应用程序,以通过REST Webservice充分了解Spring MVC。我创建了一个托管webservice的应用程序和一个调用此Web服务并获取相关数据的客户端。我能够像String一样从客户端传递参数,并且能够以List或单个对象的形式接收数据,直到这里它变得顺畅..
现在我想从客户端传递List作为参数,并且还希望在webservice端实现以获取从客户端应用程序传递的List。任何人都可以帮忙解决这个问题吗?
请查找我的工作版的代码段。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("appContext.xml", Client.class);
RestTemplate restTemplate = applicationContext.getBean("restTemplate", RestTemplate.class);
String url;
// retrieve a list of customers
url = "http://localhost:8080/restful-ws/app/testlist.xml";
List<CustomerBean> custList = (List) restTemplate.getForObject(url, List.class);
for (CustomerBean cust : custList) {
System.out.println(">> cust :"+ cust.toString());}
Web服务端实现。
@RequestMapping(method=RequestMethod.GET, value="/testlist")
public ModelAndView showCustomers() {
ModelAndView mv = new ModelAndView("customerListKey");
List<Customer> custs = new ArrayList<Customer>();
for (Customer customer:customers.values()) {
custs.add(customer);
}
mv.addObject("allCustomers", custs);
return mv;
}
我也有相关的文件,但如果将所有代码片段,它将变得太多。主要是我的查询是如何从客户端传递List以及如何从接收器/服务器端获取它?在两侧我只使用弹簧
提前感谢您的时间和帮助。
-Ronak。
答案 0 :(得分:0)
使用CustomerBean数组
CustomerBean[] custList = restTemplate.getForObject(url, CustomerBean[].class);
从数组到列表的转换留给感兴趣的读者练习......