我有一项服务,它基本上是一些 CRUD 类型操作的包装器。
app.service('fooService', function ($http) {
this.getfoo = function(id) {
return $http.get('api/foo/Get/' + id).then(function (result) {
return result.data;
});
};
this.getfoos = function () {
return $http.get('api/foo/Get').then(function (result) {
return result.data;
});
};
this.createfoo = function(foo) {
return $http.post('api/foo/Create', foo).then(function(result) {
return result;
});
};
this.updatefoo = function(id, foo) {
return $http.put('api/foo/Update/' + foo.id, foo).then(function (result) {
return result.status;
});
};
this.deletefoo = function(id) {
return $http.delete('api/foo/Delete/' + id).then(function (result) {
return result.status;
});
};
});
处理异常的最佳方法是什么?有没有一个很好的单元测试方法来做到这一点?我猜测使用此服务的控制器不应该知道它是 AJAX 调用。这是否意味着我需要一些标准的方式来与充当数据存储的服务进行通信?我返回的带有成功指示器和消息的对象?例如
var tmp = {
success: false,
error: 13,
message: 'This foo already exists'
}