将Param附加到AngularJS REST查询

时间:2014-10-06 15:38:53

标签: angularjs rest oauth ngresource

我正在将AngularJS与UI-Router一起使用,并尝试将查询参数附加到我网站上所有http请求的网址上。

我在后端有一个OAuth系统,之前在所有请求中都使用了授权标头,但为了保持向后兼容性 - 发现我必须将带有用户标识的url参数应用到后端。

我的问题是,我不能在应用程序的配置部分使用$ httpInterceptor,因为在应用程序的那一点我没有当前用户,并且无法注入$ http来解析当前用户,因为这会产生循环依赖。

我试图在应用的运行部分使用$ http.defaults.transformRequest,但似乎无法将参数附加到网址。

有没有办法在整个应用程序的每个REST请求上编写它?

1 个答案:

答案 0 :(得分:0)

我当前的项目中遇到过类似的问题。

为了解决这个问题,我在app bootstapping&之前手动请求当前用户信息。将其存储在localStorage

然后引导app&在配置部分,您将可以访问当前用户信息。

提示:要在app bootstrap之前获取用户信息,您仍然可以通过手动注入来使用$http服务:

 angular.injector(['ng']).get('$http');