我坚持使用$ http和$ resource,因为当我们需要在角度应用程序中使用$ resource时,我无法得到它?但是,当我们已经使用$ http时,我有一个混乱,然后在自己的应用程序中使用资源的主要目的是什么?
答案 0 :(得分:0)
我看待$ resource的方式是预先定义$ http调用。
如果您在整个应用程序中使用相同的呼叫,只需注入$ resource服务并拨打电话
如果api url改变你只需要在一个地方改变$ $ resouce的另一个好处。
答案 1 :(得分:0)
我在$ resource中看到的一个很大的优势就是数据的建模。如果您传递的是名为Student的Resource对象和执行
var Student = $resource('/api/student/:id');
Student.get({id: 123}, student => {
student.testScorePerc = 98;
student.$save();
});
您希望收到一个代表姓氏为“LastName”的学生的对象。在我看来,这比使用依赖于$ http的服务更加清晰......
Service.$inject = ['$http'];
function Service($http) {
this.getStudent = function(id) {
$http({method: 'GET', url: `api/student/${id}` });
};
this.updateStudent = function(id, student) {
$http({method: 'PUT', url: `api/student/${id}`, data: student});
};
}
Service.getStudent(123).then( res => {
let student = res.data[0];
student.testScorePerc = 98;
Service.updateStudent(student.id, student).then( res => {
let dosomethngWith = res.data;
}).catch( err => {
console.log(err);
});
});
我认为使用该服务时不那么明确......当然这只是一个简单的例子。
我的基线是我可以与Resource对象进行交互,在我看来,这些对象更清晰,更能代表我的数据。