我的要求如下:
我想提供演员姓名,开始日期,结束日期,并获取他在那段时间里演过的所有电影。
因此,我的服务要求就是这样。
http://localhost:8080/MovieDB/GetJson?name=Actor&startDate=20120101&endDate=20120505
现在,我想改善它。我想提供一个开始日期,结束日期和一个以上的演员名称,并希望查看该时期内所有这些演员的电影。
我不确定我的网址应该如何支持这种情况。
我正在使用spring编写基于Java的Web服务。
下面的代码是为了支持一个演员
@RequestMapping(value = "/GetJson", method = RequestMethod.GET) public void getJson(@RequestParam("name") String ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) { //code to get results from db for those params. }
我正在考虑的一种解决方案是使用%符号分隔演员名称。例如:
http://localhost:8080/MovieDB/GetJson?name=Actor1%Actor2%Actor3&startDate=20120101&endDate=20120505
现在,在控制器中,我将使用%解析名称字符串,并获取所有参与者名称。
这是执行此操作的好方法还是标准方法?
谢谢
以逗号分隔:
http://localhost:8080/MovieDB/GetJson?name=Actor1,Actor2,Actor3&startDate=20120101&endDate=20120505
or:
http://localhost:8080/MovieDB/GetJson?name=Actor1&name=Actor2&name=Actor3&startDate=20120101&endDate=20120505
http://localhost:8080/MovieDB/GetJson?name[0]=Actor1&name[1]=Actor2&name[2]=Actor3&startDate=20120101&endDate=20120505
无论哪种方式,你的方法签名都必须是:
@RequestMapping(value = "/GetJson", method = RequestMethod.GET) public void getJson(@RequestParam("name") String[] ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) { //code to get results from db for those params. }