0

我一直在破解,目前有很多控制器正在调用我的后端服务,目前我已经将端点直接输入到控制器中,并且 URls 存储为字符串文字。

我不禁认为这是不对的,任何人都有整理代码的好主意,我应该将端点作为键值对存储在 js 对象中吗?

我目前正在使用注入到每个控制器中的restangular,这是正确的做法吗,我可以将其抽象为服务,但我将从中获得什么。

目前我有我的restangular调用,它接受2个函数,1个表示成功,1个表示失败。

有没有人有任何例子或看到做这种事情的好方法?

谢谢

4

1 回答 1

2

我和我的同事使用 Restangular 和模块化方法,将控制器名称传递给模块,在那里进行 Restangular 调用,这意味着我们不倾向于重复自己。

为什么不采用类似的方法并建立一种机制来按照约定或从持久化位置(数据库/内存/等)计算出控制器?

这是我们在模块中所做的一个片段: 在应用启动时:

RestangularProvider.setBaseUrl(config.apiBaseUrl);

然后在模块的控制器中(每个模块都有自己的控制器):

Restangular.one(this.module.ControllerName, itemCode).get({token: authService.getToken()})
    .then(
        function(event) { 
            $scope.entity = event;
        },
        function(event) { 
            //Bad things went down.
            console.log(event); 
        }
    );

上面的ControllerName是在构造的时候传入控制器的,它指的是后端的WebAPI控制器

在应用程序启动时,我们连接到我们的 WebAPI 后端并下拉一个模块列表及其各自的控制器,用于构建如上所示的模块。

一旦我们对正在进行的项目感到满意,我和我的同事将把我们的框架发布到 Github 以展示上面提到的一些概念,当我们解决这个问题时会更新这个答案:)

于 2013-11-01T13:47:11.603 回答