繁体   English   中英

如何在HTTP请求上设置模块特定的自定义标头?

[英]How can I set module specific custom headers on a HTTP request?

我希望能够在应用程序触发的HTTP请求上设置自定义标头。 此标头必须指示从哪个子模块触发了请求。

我已经尝试创建一个拦截器和一个装饰器(在每个模块中),但是这两个选项都放在了全局的$ http服务上,因此彼此替代。

唯一有效的选项是在调用$ http服务时指定标头,但这并不是我真正想要的。 目标是在每个模块上编写一个拦截器或装饰器,以捕获来自该模块的所有请求,并相应地设置标头。

关于如何解决这个问题的任何想法?

可以肯定的是,仅通过使用模块进行分离就无法解决此问题,因为您已经发现$ http服务位于自动包含的ng模块中。 注入$ http时,您将获得与“ ng”内置模块中定义的实例相同的实例。

最好的选择可能是编写用于两个工厂/服务对象的基类,每个基类都抽象出实际的调用并设置适当的标头。 API抽象层实现的良好基础在这里https://gist.github.com/jelbourn/6276338

您可以做的是(我所做的)为所有api路径加上模块名称,例如“ stk-api / abc / get”,“ fu-api / xyz / get”等。然后在拦截器中更改api删除模块部件'stk-'或'fu-'的路径,并根据删除的部件或模块名称添加了自定义标头。

我知道这是一种解决方法,但为我做了工作...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM