Angularjs 如何降低API的复杂性';s网址

Angularjs 如何降低API的复杂性';s网址,angularjs,api,url,Angularjs,Api,Url,我有四个API用于不同的控制器 Url:“htp://192.168.0.31:8010/寄存器” Url:“htp://192.168.0.31:8010/登录” Url:“htp://192.168.0.31:8010/验证账户” Url:“htp://192.168.0.31:8010/profile“ 和一个全局URL Url:“htp://192.168.0.31:8010/ 我想知道全局URL何时更改为31到16 像 Url:“htp://192.168.0.16:8010/ 然后,

我有四个API用于不同的控制器

Url:“htp://192.168.0.31:8010/寄存器”

Url:“htp://192.168.0.31:8010/登录”

Url:“htp://192.168.0.31:8010/验证账户”

Url:“htp://192.168.0.31:8010/profile“

和一个全局URL

Url:“htp://192.168.0.31:8010/

我想知道全局URL何时更改为31到16 像

Url:“htp://192.168.0.16:8010/

然后,我必须将所有API的url31更改为16。这太复杂了,而且耗时

我怎样才能克服它?
请给我提个建议

您可以在angular
app.js

例如:

 app.constant("apiurl", {

        url:"htp://192.168.0.31:8010",

    });
将此常量作为依赖项注入ur控制器,并按如下方式访问APIRL:

Url : apiurl.url + 'register';
你可以通过

  • 提供程序中添加
    API\u URL

     angular
        .module('app')
        .config(routerConfig)
        .value('API_URL', 'http://192.168.0.31:8010');
    
  • 在http拦截器中使用
    API\uURL

     angular
        .module('app')
        .factory('httpInterceptor', function($q, API_URL) {
            var refresh = false;
            var interceptor = {
                request: function(config) {
                    // console.log('before config.url', config.url);
                    var url = config.url;
                    // skip the interceptor for any html request
                    if (url.substr(url.length - 5) == '.html') {
                        return config || $q.when(config);
                    }
                    config.url = API_URL + url;
                }               
            };
            return interceptor;
     });
    
  • 现在,在使用$http的其他服务中,可以直接调用api方法;它将通过拦截器,拦截器将添加
    API\uurl

    angular
    .module('app')
    .factory('AuthService', function($http) {
    
        var service = {
    
            login: function(credentials) {
                return $http.post('/login');
            },
    
            logout: function() {
                return $http.get('/logout');
            }
       }; 
       return service;
    });
    

  • 使用DNS为该IP地址分配名称。当服务器的IP地址更改时,也更改DNS。因此,您的应用程序始终使用相同的名称。在JS代码中,一般来说,不要到处硬编码相同的值。在常量中硬编码一次,然后在任何地方使用该常量htp://192.168.0.31:8010",); 它的工作谢谢你。