使用自定义 HTTP Interceptor 记录 SAP Spartacus 发送的 OCC API 以及响应
最后的效果:
請(qǐng)求的方法類型和 url 都被記錄了下來(lái),同響應(yīng)一起。
設(shè)置斷點(diǎn)來(lái)觀察自定義 HTTP interceptor 運(yùn)行時(shí)原理:
我們自定義的 intercept 也是通過(guò)依賴注入的方式被注入到 httpInterceptor 的調(diào)度器里。
首先把 method 和 urlWithParams 從 request 里提取出來(lái):
返回的 Observable pipe 方法里的 switchMap 里的處理函數(shù),什么時(shí)候會(huì)被觸發(fā)?
在響應(yīng)式編程的世界里,不要太在意 switchMap 里指定的函數(shù)體是何時(shí)被調(diào)用的——充斥的全是 rxjs 的回調(diào)。
只需要注意 switchMap 里必須返回一個(gè) Observable wrapper 對(duì)象。
再看這個(gè) custom interceptor 什么時(shí)候被實(shí)例化的?
首先把系統(tǒng)所有的 HTTP_INTERCEPTORS 注入的實(shí)現(xiàn)都取出來(lái),放到數(shù)組里,然后使用數(shù)組的 reduceRight 方法,逐一調(diào)用之。
我們自定義的 Custom HTTP Interceptor 赫然在數(shù)組里,所以可以被調(diào)用到:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的使用自定义 HTTP Interceptor 记录 SAP Spartacus 发送的 OCC API 以及响应的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP Spartacus 里的 .re
- 下一篇: 航海王热血航线黄金果实如何得