0
js文件的响应:Angularjs:ngResource无法摆脱SpringData的回报
var app = angular.module('MyApp', ['ngResource']);
app.factory('baseRequest', ["$resource", function ($resource) {
return $resource("/apis/getPageData.req/:id")
}]);
app.controller("MyCtrl", ["$scope", "baseRequest", function ($scope, baseRequest) {
var self = this;
self.users = [];
self.fetchAllUsers = function() {
self.users = baseRequest.query();
console.log(self.users);
};
self.fetchAllUsers();
}]);
用SpringMVC控制器文件:
@RequestMapping("/apis")
@Controller
public class UserController {
@Autowired
private UserDao userDao;
@ResponseBody
@RequestMapping(value = "/getPageData", method = RequestMethod.GET)
public Page<User> getDatas(@RequestParam(value = "pageNo",required = false,defaultValue = "1"
) String No) {
int pageNo = Integer.parseInt(No);
if (pageNo < 0) {
pageNo = 1;
}
return userDao.getPageData(pageNo);
}
@ResponseBody
@RequestMapping(value = "/getAll", method = RequestMethod.GET)
public List<User> getAll() {
return userDao.getAll();
}
}
当我请求方法GETALL(),一切顺利。但是,当我请求getDatas()时,它出错了,ngResource无法获得响应,它显示错误如下:
当$ resource服务期望可以反序列化的响应为一个数组,但接收一个对象,反之亦然。默认情况下,除了需要数组的查询之外,所有资源操作都需要对象。
要解决此错误,请确保您的$资源配置与从服务器返回的数据的实际格式相匹配。
我不知道如何来满足数据的实际格式从服务器返回。
其实我需要Object Page的所有信息,包括User的数组。
页面包括pageNo,currentPage,totallSize,User等。