REST AngularJS@resource参数化请求
我有下一个WEB API:REST AngularJS@resource参数化请求,angularjs,rest,parameters,resources,request,Angularjs,Rest,Parameters,Resources,Request,我有下一个WEB API: GET List<EventHistory> '/service/eventhistories' GET EventHistory '/service/eventhistories/{id}' DELETE EventHistory '/service/eventhistories/{id}' PUT EventHistory '/service/eventhistories' POST
GET List<EventHistory> '/service/eventhistories'
GET EventHistory '/service/eventhistories/{id}'
DELETE EventHistory '/service/eventhistories/{id}'
PUT EventHistory '/service/eventhistories'
POST EventHistory '/service/eventhistories'
但是使用这个声明,我没有任何API根据一些数据请求页面
var pageRequest = {
size: size,
page: page
};
或者发送事件历史记录的更新。基于OP的评论:
假设要更新单个实体:
.controller('someCtrl', function($stateParams, eventHistoryFactory){
//For the sake of the demonstration - id comes from the state's params.
var eventHistory = eventHistoryFactory.get({id: $stateParams.id});
eventHistory.$promise.then(function(){
//Modify the entity when HTTP GET is complete
eventHistory.address = 'New York';
//Post the entity
eventHistory.$save();
//If you wish to use PUT instead of POST you should declare that
//in the class methods of $resource
});
//Another example using query
var entries = eventHistoryFactory.query({
page: 0,
size: 20,
before: Date.now()
});
//This is translated into GET /inner/service/eventhistories?page=0&size=20&before=111111111111
//and should be interpreted correctly by your backend.
entries.$promise.then(function(){
//entries now contain 20 first event history with date earlier than now.
var specificEntry = entries[0];
//Same deal - modify the entity when HTTP GET is complete
specificEntry.address = 'New York';
//Post the entity
specificEntry.$save();
});
第一个答案似乎很好,但我认为这样对乞丐来说更容易理解:
eventHistoryFactory.get(pageRequest, function (returnData) {
console.trace('request processed successfully: ' + returnData);
params.total(returnData.totalElements);
$defer.resolve(returnData.content);
}, function (error) {
console.log('request processed with error: ' + error);
})
要以动态方式进行页面请求,应该在从ngTable当前属性请求之前构建对象(使用ngTable API)
请关注eventHistoryFactory。它没有pageRequest对象的参数,但它可以工作-角度魔法。通过在url中获取请求,您可以看到:
?page=2&size=25
我不完全确定我是否理解。您是否关心分页,或者您没有后端分页实现?我有back和pagination,但不能同时向后端发送ID(inRow参数)和pageable数据的请求。我知道,它应该类似于eventHistoryFactory.get(pageRequest,函数(数据){controllerScope.eventHistorySingle=data;}),但如果我正在更新实体,我应该如何向请求添加ID呢?简短的回答是-你不需要。我是为你做的。检查下面我的答案。
?page=2&size=25