Restangular - 将参数发送到服务器的 getList
Restangular - getList with parameters sent to server
我在服务器端有方法:
@RequestMapping(method = RequestMethod.GET)
public List<UserDTO> getAllUsers(@RequestParam(value = "groupId", required = false) Long groupId,
@RequestParam(value = "pagination") Pagination pagination){
// some stuff
}
我尝试使用 Restangular
:
从客户端发送数据
function getUsers(filters){
restService.all("users").getList(filters).then(function(users){
$scope.data.users = users;
});
}
// ....
getUsers({groupId: undefined, pagination: $scope.data.pagination});
其中 pagination
可以是:
$scope.data = {
// Other parameters
pagination: {
currentPage: 1,
totalItems: 30,
itemsPerPage: 5
}
};
但是我得到了:
Failed to convert value of type 'java.lang.String'
to required type 'pagination.Pagination';
当我寻找 Request URL
时,我看到:
http://localhost:8080/skp/users?pagination=%7B%22currentPage%22:1,%22totalItems%22:30,%22itemsPerPage%22:5%7D
和Query String Parameters
是:
pagination:{"currentPage":1,"totalItems":30,"itemsPerPage":5}
我希望将分页对象发送到服务器端,但它试图发送字符串而不是对象。是否知道如何使用 HTTP GET
方法和 getList
Restangular
方法发送参数而不是 Query String
,我认为这会导致我的问题?或者如何让服务器端将其视为 Pagination
对象,而不是字符串?非常感谢您的回答
pagination=%7B%22currentPage%22:1,%22totalItems%22:30,%22itemsPerPage%22:5%7D
如我的评论所述,这是一个值为字符串的参数。如果您希望在服务器端填充对象或输入 bean,则必须在分页中将三个值作为三个单独的参数发送。保持参数和 bean 字段名称相同以自动填充这些字段
我在服务器端有方法:
@RequestMapping(method = RequestMethod.GET)
public List<UserDTO> getAllUsers(@RequestParam(value = "groupId", required = false) Long groupId,
@RequestParam(value = "pagination") Pagination pagination){
// some stuff
}
我尝试使用 Restangular
:
function getUsers(filters){
restService.all("users").getList(filters).then(function(users){
$scope.data.users = users;
});
}
// ....
getUsers({groupId: undefined, pagination: $scope.data.pagination});
其中 pagination
可以是:
$scope.data = {
// Other parameters
pagination: {
currentPage: 1,
totalItems: 30,
itemsPerPage: 5
}
};
但是我得到了:
Failed to convert value of type 'java.lang.String'
to required type 'pagination.Pagination';
当我寻找 Request URL
时,我看到:
http://localhost:8080/skp/users?pagination=%7B%22currentPage%22:1,%22totalItems%22:30,%22itemsPerPage%22:5%7D
和Query String Parameters
是:
pagination:{"currentPage":1,"totalItems":30,"itemsPerPage":5}
我希望将分页对象发送到服务器端,但它试图发送字符串而不是对象。是否知道如何使用 HTTP GET
方法和 getList
Restangular
方法发送参数而不是 Query String
,我认为这会导致我的问题?或者如何让服务器端将其视为 Pagination
对象,而不是字符串?非常感谢您的回答
pagination=%7B%22currentPage%22:1,%22totalItems%22:30,%22itemsPerPage%22:5%7D
如我的评论所述,这是一个值为字符串的参数。如果您希望在服务器端填充对象或输入 bean,则必须在分页中将三个值作为三个单独的参数发送。保持参数和 bean 字段名称相同以自动填充这些字段