4
我没有在documentation中找到如何扩展HttpClient或如何为我的一些HTTP请求指定不同的拦截器。在文档中,他们解释了如何在HTTP_INTERCEPTORS
中设置拦截器,但是每个HTTP请求都被拦截。Angular 4.3&5:如何扩展HttpClient?
我需要定制HttpClient实现来设置特定的头,端点或响应拦截器(我不想使用Restangular,我宁愿使用内置的角度HttpClient实现)。
- 我有一个oAuth API与特定的端点和特定的标头来设置我的API密钥。
- 我也有我的“资源”API需要特定的标头(
Authorization: Bearer
...和API-KEY)和特定的响应拦截器来捕获所有HTTP 401响应。 - 也许,我需要调用一些的外部API没有任何拦截
我知道这是可能的,但Restangular我更喜欢使用HttpClient
。这怎么可能 ?
我发现this article但是,这是为Http
而不是为新的HttpClient
执行角度4.3。
谢谢你的评论。我认为这种方法不尊重关注的分离(除了第一个?!)。但是如果我使用拦截器来设置API端点,我将无法检查URL?! – eroak
我并不是建议在拦截器中设置端点,只需设置特定端点所需的任何标题即可。我认为你的服务应该负责了解端点url。 – GreyBeardedGeek
我的每个自定义'HttpClient'实现都有自己的常量URL端点,我不想使用'getURLEndpoint()'类似的方法。 – eroak