サンプル

$httpを使ったサンプルです。 RESTの仕様は

/api/hoge/ にHTTP GETすると一覧(JSON配列)
/api/hoge/[id].json にGETすると詳細
/api/hoge/ にHTTP POST すると登録

こんなよくある仕様だとします。これらに対して、

hogeService.getHoges();
hogeService.getHoge(id);
hogeService.saveHoge(postData);

こんな感じでサービスを呼び出せるようにします。

サービスの定義

angular.module(APP_NAME)
    .factory('hogeService', ['$http', function ($http) {
        function callAjax(method, url, data) {
            console.log(data);
            var promise = $http({
                method: method,
                url: url,
                data: data
            });
            return promise;
        }

        return {
            getHoges: function () {
                var method = 'GET';
                var url = '/api/hoge/';
                return callAjax(method, url);
            },
            getHoge: function (id) {
                var method = 'GET';
                var url = '/api/hoge/' + id + '.json';
                return callAjax(method, url);
            },
            saveHoge: function (postData) {
                var method = 'POST';
                var url = '/api/hoge/';

                console.log(postData);
                return callAjax(method, url, postData);
            }
        };
    }]);

コントローラからの呼び出し方


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS