我更喜欢通过 HTTP 路径变量来解决您的问题,因为REST https://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services意识形态在资源名称之后传递资源 ID 'http://../资源/id http://../resource/id' 和 HTTP 参数用于过滤。
通过HTTP参数
如果您需要通过 HTTP 参数传递您的 id,请参阅下面的示例:
这是您的 Spring MVC 控制器方法:
@RequestMapping(value = "/books", params = "ids", method = RequestMethod.GET)
@ResponseBody
Object getBooksById_params(@RequestParam List<Integer> ids) {
return "ids=" + ids.toString();
}
您可以使用以下变体拨打电话:
- http://服务器:端口/ctx/books?ids=5,65,42 http://server:port/ctx/books?ids=5,65,42
另请看一下这个讨论:https://stackoverflow.com/a/9547490/1881761 https://stackoverflow.com/a/9547490/1881761
通过HTTP路径变量
您也可以通过路径变量传递您的 id,请参阅下面的示例:
@RequestMapping(value = "/books/{ids}", method = RequestMethod.GET)
@ResponseBody
Object getBooksById_pathVariable(@PathVariable List<Integer> ids) {
return "ids=" + ids.toString();
}
你的电话将如下所示:http://服务器:端口/ctx/books/5,65,42 http://server:port/ctx/books/5,65,42