3

リクエストでまたはパラメータを使用して、 Angular の$resourceサービスで http メソッドのオーバーライドを行う方法はありますか?X-HTTP-Method-Override_method

4

2 に答える 2

1

他の誰かがコード スニペットを探している場合は、次のとおりです。

(function(module) {
    function httpMethodOverride($q) {
        var overriddenMethods = new RegExp('patch|put|delete', 'i');

        return {
            request: function(config) {
                if (overriddenMethods.test(config.method)) {
                    config.headers = config.headers || {};
                    config.headers['X-HTTP-Method-Override'] = config.method;
                    config.method = 'POST';
                }

                return config || $q.when(config);
            }
        };
    }

    module.factory('httpMethodOverride', httpMethodOverride);
    module.config(function($httpProvider) {
        $httpProvider.interceptors.push('httpMethodOverride');
    });
})(angular.module('app-module'));
于 2015-09-28T19:59:26.470 に答える