微服务之间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);     } 

相关内容

热门资讯

透视辅助!wepoker是不是... wepoker是不是有人用挂是一款专注玩家量身打造的游戏记牌类型软件,在wepoker是不是有人用挂...
透视辅助!wepoker免费脚... wepoker辅助器如何使用开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker辅助器如何...
透视辅助!pokerworld... 透视辅助!pokerworld软件,hhpoker辅助靠谱吗,传授开挂辅助神器(透视有挂功能);无需...
透视辅助!wepoker有没有... 您好:这款wepoker有没有辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker有没有...
透视辅助!wepoker挂,w... 透视辅助!wepoker挂,wpk模拟器多开,实测开挂辅助脚本(透视有挂方针)【无需打开直接搜索加薇...
透视辅助!智星德州辅助译码插件... 透视辅助!智星德州辅助译码插件靠谱吗,hhpoker辅助软件是真的么,必看开挂辅助插件(透视有挂方法...
透视辅助!wepoker好友局... 透视辅助!wepoker好友局透视,购买的wpk辅助在哪里下载,曝光开挂辅助插件(透视有挂工具),购...
透视辅助!hhpoker免费辅... 您好:hhpoker免费辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
透视辅助!wepoker底牌透... 透视辅助!wepoker底牌透视,约局吧能不能开挂,分享开挂辅助下载(透视有挂功能) 了解更多开挂安...
透视辅助!德州私人局怎么透视,... 透视辅助!德州私人局怎么透视,拱趴大菠萝万能辅助器,分析开挂辅助工具(透视有挂方略);无需打开直接搜...