当前位置: 首页 > 工具软件 > Restangular > 使用案例 >

Restangular设置多个baseUrl

卞昀
2023-12-01

 1、创建两个或多个 Restangular 服务,根据需要配置它们的请求地址。

// Global configuration
app.config(function(RestangularProvider) {
  //这个设置了BaseUrl
   RestangularProvider.setBaseUrl('http://www.global.com');
   RestangularProvider.setRequestSuffix('.json');
});

//第一个Restangular 的服务
app.factory('FirstRestangular', function(Restangular) {   return Restangular.withConfig(function(RestangularConfigurer) {
      RestangularConfigurer.setBaseUrl('http://www.first.com');
   });
});

//第二个Restangular 的服务
app.factory('SecondRestangular', function(Restangular) {   return Restangular.withConfig(function(RestangularConfigurer) {
      RestangularConfigurer.setBaseUrl('http://www.second.com');
   });
});

2、注入使用的模块,就可以使用定义的restangular服务
ps:只需引入不同Restangular即可使用不同的请求基地址

(1)第一种用法 

// 在设置接口的js文件的controller中使用注册好的SecondRestangular服务
app.controller('MainCtrl', function(Restangular, FirstRestangular,SecondRestangular
) { 
this.saveface = function (params) {
            return SecondRestangular.one("face").customPOST({
                name: "My Message"
            }, "saveface", params);
        };

});


(2)第二种写法:推荐
先写接口方法:
angular.module('RequestAPI', ['Common'])
    .service('StuRequestTrain', ['SecondRestangular', function (Restangular) {       
          this.saveface = function (params) {
            return Restangular.one("拼接接口地址").customPOST({                
               name: "My Message"
            }, "拼接接口地址", params参数);        
          };
}])

在需要发起http请求的页面使用写好的接口的方法:
(需要在本js的service中引入上面的RequestAPI才能用)
var param={
            id: "值",
            number:6
        };
RequestAPI.saveface(param).then(function (response) {
         // response就是请求的结果
        });

 类似资料: