我正在尝试使用4个参数向服务器发送请求。它似乎工作少于4,但我无法使用4或更多。 以下是片段:
historyy: $resource('/history/:user.:item.:count.:cost', {
user: '@userr',
item: '@itemm',
count: '@countt',
cost: '@costt'
}
调用RestService:
RestServices.historyy.get({userr: "Asd",itemm: $scope.item.id,countt: amount,costt: '0' });
执行此操作时,URL如下所示:
http://localhost:8080/history/...?costt=0&countt=6&itemm=1&userr=Asd
为什么要添加这些疯狂的(......?)?当我删除其中一个参数(无论哪一个)时,它都能正常工作。
答案 0 :(得分:1)
您可以使用query
(请参阅:doc)
<强>资源强>
$resource('/history/');
拨打强>
RestServices.historyy.query({user: "Asd", item: $scope.item.id, ...}, function(results) {
//on success
});
<强>结果强>
/history?user=Asd&item=ExampleItem...
Spring REST控制器
@RestController
@RequestMapping(value = "/history", produces = MediaType.APPLICATION_JSON_VALUE)
public class SomeRestController {
@ResponseBody
@RequestMapping(method = RequestMethod.GET)
@JsonView(View.List.class)
public List<SomeThing> getSomething(
@RequestParam(value = "user", required = true) String user,
@RequestParam(value = "item", required = true) String item, ...) {...}
您可以在此处找到更多信息:Using $resource.query with params object