OpenFeign服務調用時攜帶Token


OpenFeign服務調用時攜帶Token:

  場景:眾所周知,OpenFigen主要的作用是替我們發送Http請求的,那么在有些場景中,需要在OpenFiegn中攜帶Token到另一個服務去,需要配置一個Fegin的配置類完成此操作

  • 第一步創建FeginClient的配置類
package cn.woniu.yyyservice.nacosconfig;

import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: hui
 * @Date: 2021/12/05/17:33
 * @Description:
 */
@Configuration
public class FeignConfiguration implements RequestInterceptor {

    @Override
    public void apply(RequestTemplate requestTemplate) {
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        requestTemplate.header("jwt-Token", request.getHeader("jwt-Token"));
    }

}
  •  在@FeginClient注解添加Configuration
package cn.woniu.yyyservice.client;

import cn.woniu.yyyservice.nacosconfig.FeignConfiguration;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: hui
 * @Date: 2021/12/05/15:49
 * @Description:
 */
@FeignClient(name = "xxx-service", fallback = XxxFallBackServiceClientImpl.class, configuration = FeignConfiguration.class)
public interface XxxServiceClient {

    @RequestMapping("/all-can-do")
    public String demo7();

    @RequestMapping("/")
    public String index();
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM