Angularjs 如何为$resource指定主机名?

Angularjs 如何为$resource指定主机名?,angularjs,angularjs-resource,Angularjs,Angularjs Resource,我以这样的方式定义了资源,即根据配置文件主机名可以更改。当我在本地开发它时,它是本地主机,当我们将它部署到qa时,它是另一个主机,而在生产环境中,它又是另一个主机。我们通过配置文件来控制它。现在,当我定义资源时,我们会这样做 angular.module('app') .factory('InsuredDemographics', ['$resource', 'config', function ($resource, config) { var memberSe

我以这样的方式定义了资源,即根据配置文件主机名可以更改。当我在本地开发它时,它是本地主机,当我们将它部署到qa时,它是另一个主机,而在生产环境中,它又是另一个主机。我们通过配置文件来控制它。现在,当我定义资源时,我们会这样做

 angular.module('app')
     .factory('InsuredDemographics', ['$resource', 'config', function ($resource, config) {

         var memberServicesHostName = config.memberServicesHostName;
         return $resource(memberServicesHostName + '/insureds/:insuredId/raceethnicitylanguage', null,
         {
             'update': { method: 'POST', 'withCredentials': true },
             'save': { method: 'POST', 'withCredentials': true }
         });
     }]);
如果不覆盖url,但查看一下这个,这是可以的

 angular.module('app')
    .factory('Dependents', ['$resource', 'config', function ($resource, config) {

        var memberServicesHostName = config.memberServicesHostName;
        return $resource(memberServicesHostName + '/Insureds/:primaryInsuredId/Dependents', null,
        {
            'query': {
                method: 'GET', withCredentials: true,
                url: memberServicesHostName + '/Insureds/:primaryInsuredId/Dependents/',
                isArray: false,
                interceptor:
                       {
                           response: function (response) {

                               response.resource.dependents.forEach(function (dependent) {

                                   if (dependent.type.code == 'CHLD') dependent.type.description = "Child";
                               });

                               return response.resource;
                           }
                       }
            },
            'get': {
                method: 'GET', withCredentials: true,
                url: memberServicesHostName + '/Insureds/:primaryInsuredId/Dependents/:insuredIdOfDependent',
                interceptor:
                   {
                       response: function (response) {

                           if (response.resource.dependent.type.code == 'CHLD') response.resource.dependent.type.description = "Child";

                           return response.resource;
                       }
                   }
            },
            'save': {
                method: 'POST', withCredentials: true,
            },
            'update': {
                method: 'PUT', withCredentials: true,
                url: memberServicesHostName + '/Insureds/:primaryInsuredId/Dependents/:insuredIdOfDependent'
            }
        });
    }]);

我必须在每个自定义url前面加上主机名。这不能在资源级别指定吗?

我看到最后一个代码段中的所有操作的URL都是相同的,您是否需要在任何地方都复制它?查询并发布到“Insureds/:PrimaryInsuredD/Dependents”,然后进入“Insureds/:primaryInsuredId/Dependents/:InsuredDofDependent”