微服务之间Feign调用
创始人
2024-12-26 13:10:21
0

需使用的服务

@FeignClient(name = "rdss-back-service", fallback = SysUserServiceFallback.class, configuration =         FeignConfiguration.class) public interface SysUserService {      /**      * 订单下单用户模糊查询      */     @GetMapping(value = "/user/getOrderUserName")     List getOrderUserName(@RequestParam(value = "username", required = false) String username);    } 
@Slf4j @Service public class SysUserServiceFallback implements SysUserService {      @Override     public List getOrderUserName(String username) {         log.error("调用getOrderUserName方法异常,参数:{}", username);         return null;     } } 
package com.rdss.common.config;  import com.rdss.common.constants.CommonConstants; import feign.Body; import feign.RequestInterceptor; import feign.RequestTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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; import java.util.Enumeration;  @Configuration public class FeignConfiguration implements RequestInterceptor {     private final Logger logger = LoggerFactory.getLogger(getClass());      @Override     public void apply(RequestTemplate template) {         if(template==null)return;         ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder                 .getRequestAttributes();         if(attributes==null){             template.header("ticket", CommonConstants.INNER_FEIGN_TRANS_TICKET);             return;         }         HttpServletRequest request = attributes.getRequest();         if(request==null){             return;         }         Enumeration headerNames = request.getHeaderNames();         if (headerNames != null) {             while (headerNames.hasMoreElements()) {                 String name = headerNames.nextElement();                 String values = request.getHeader(name);                 //使用body,请求头的content-length与body不一致,所以会出现too many bytes written executing错误,跳过它即可                 /*if(name.equals("content-length")){                     continue;                 }*/                 template.header(name, values);              }         }         Enumeration bodyNames = request.getParameterNames();         if (bodyNames != null) {             while (bodyNames.hasMoreElements()) {                 String name = bodyNames.nextElement();                 String values = request.getParameter(name);                 template.header(name, values);             }         }     } } 

另外一个微服务中

 @ApiOperation(value = "订单下单用户模糊查询", notes = "订单下单用户模糊查询", httpMethod = "GET")     @GetMapping(value="/getOrderUserName")     public List getOrderUserName(@RequestParam(value ="username", required = false) String username){         return sysUserService.getOrderUserName(username);     } 

相关内容

热门资讯

科技新动态!开心跑得快有辅助工... 科技新动态!开心跑得快有辅助工具吗(透明挂)外挂透明挂辅助神器(2021已更新)(哔哩哔哩)1)开心...
4分钟实锤!吉祥麻将,微扑克切... 4分钟实锤!吉祥麻将,微扑克切实是真的有挂,介绍教程(有挂揭秘);一、吉祥麻将AI软件牌型概率发牌机...
实测发现!鄂州晃晃外 挂(透视... 实测发现!鄂州晃晃外 挂(透视)透视辅助工具(2021已更新)(哔哩哔哩)1、鄂州晃晃外 挂系统规律...
三分钟了解!好彩麻将怎样才可以... 三分钟了解!好彩麻将怎样才可以拿好牌(透视辅助)外挂透明挂辅助机制(2020已更新)(哔哩哔哩)1、...
九分钟辅助!斗棋辅助器在哪,w... 九分钟辅助!斗棋辅助器在哪,wepoker本来真的是有挂,教你攻略(有挂教程)1、下载好斗棋辅助器在...
记者揭秘!!广东雀神麻雀辅助器... 记者揭秘!!广东雀神麻雀辅助器在哪里下载(透视)透视辅助app(2020已更新)(哔哩哔哩)1、很好...
终于清楚!皮皮跑胡子输赢规律(... 终于清楚!皮皮跑胡子输赢规律(辅助挂)外挂透明挂辅助机制(2026已更新)(哔哩哔哩)1)皮皮跑胡子...
二分钟科普!花城牌舍系统规律,... 二分钟科普!花城牌舍系统规律,aAPOKER竟然存在有挂,揭秘教程(有挂插件)进入游戏-大厅左侧-新...
一分钟教你!心悦手机麻将辅牌器... 一分钟教你!心悦手机麻将辅牌器(透视辅助)外挂透视辅助挂(2024已更新)(哔哩哔哩)1、每一步都需...
科技新动态!四方河南麻将赢牌技... 科技新动态!四方河南麻将赢牌技巧(透视)外挂透明挂辅助神器(2026已更新)(哔哩哔哩)1、每一步都...