基本的にいくつかの 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'
}