feign调用多个服务_spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)...
1、首先先看什么是Feign。
2、若其他服務的接口未做權限處理,參照上文第1點的博文即可。
3、若其他服務的接口做了權限的處理(例如OAuth 2)時該如何訪問?
a、有做權限處理的服務接口直接調用會造成調用時出現http 401未授權的錯誤,繼而導致最終服務的http 500內部服務器錯誤
b、解決方式:最方便的就是往請求頭里加上token,一起帶過去;
b1、Feign有提供一個接口,RequestInterceptor;只要實現這個接口,簡單做一些處理,比如說我們驗證請求頭的token叫Access-Token,我們就先取出當前請求的token,然后放到feign請求頭上;
b2、新建配置類
@Configuration
public
class FeignConfig implements RequestInterceptor{
@Override
public void apply(RequestTemplate requestTemplate){
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
requestTemplate.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));
}
}
b3、在@FeignClient接口里添加configuration = {FeignConfig.class}
@FeignClient(value="被調用的服務名",configuration={FeignConfig.class})
即可對做權限處理的服務接口進行調用
1、首先先看什么是Feign。 這里引用“大漠知秋”的博文https://blog.csdn.net/wo18237095579/article/details/83343915
[1, Shǒuxiān xiān kàn shénme shì Feign. Zhèlǐ yǐnyòng “dàmò zhī qiū” de bówén https://Blog.Csdn.Net/wo18237095579/article/details/83343915]
1. First look at what is Feign.
Here is a quote on "Da Mo Zhiqiu" https://blog.csdn.net/wo18237095579/article/details/83343915
總結
以上是生活随笔為你收集整理的feign调用多个服务_spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)...的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: android 模糊读取文件名_Andr
 - 下一篇: jpa原生query_Spring Da