在角度应用程序中管理API路径的最佳做法是什么?

时间:2016-03-08 16:59:30

标签: angularjs

我一直在寻找一种方法来将外部API路径管理到一个位置。目前,我将它们存储为常量对象。

var Resources = function () {

var baseURL = 'http://localhost:3000/'
var apiURL = baseURL + 'api/v1/';

return {
  URL: {
    API: apiURL,
    ITEMS: {
      INDEX: apiURL + 'items/'
    },
    CATEGORIES: apiURL + 'categories/',
    AUTHORS: apiURL + 'authors/'
    }
  };

  angular
    .module('testApp')
    .constant('RESOURCES', Resources());

但是,现在我在添加嵌套端点时遇到问题

例如:http://localhost:3000/api/v1/items/1/lease

这里,上述方法失败,因为“item_id”不能放在常量对象

1 个答案:

答案 0 :(得分:0)

有趣的方法。我们也将它存储为常量,但是对路径变量使用字符串替换。例如:

{
  "getStatusById": "/status/:id"
}

然后:

var url = endpoints.getStatusById.replace(':id', id)