簡體   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