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

相关内容

热门资讯

透视手段!哈糖大菠萝破解器(透... 透视手段!哈糖大菠萝破解器(透视)原来有辅助神器(哔哩哔哩)在进入哈糖大菠萝破解器软件靠谱后,参与本...
一分钟快速了解!微信小程序免费... 一分钟快速了解!微信小程序免费黑科技(外挂),微乐内蒙古自建房脚本免费下载总是有挂解惑在进入微信小程...
曝光透视!哈糖大菠萝怎么开挂,... 曝光透视!哈糖大菠萝怎么开挂,pokemmo手机脚本(透视)一直真的有辅助教程(哔哩哔哩)哈糖大菠萝...
透视绝活!pokemmo手机脚... 您好,pokemmo手机脚本这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...
有消息称!边锋干瞪眼跟有挂吗,... 有消息称!边锋干瞪眼跟有挂吗,都是真的有辅助软件(有挂秘笈)-哔哩哔哩边锋干瞪眼跟有挂吗辅助器是一种...
揭秘几款!微乐小程序黑科技(外... 揭秘几款!微乐小程序黑科技(外挂),微乐小程序自建房透视都是有挂规律所有人都在同一条线上,像星星一样...
了解透视!德州来玩辅助器,哈糖... 了解透视!德州来玩辅助器,哈糖大菠萝怎么开挂(透视)果然真的有辅助技巧(哔哩哔哩);1、了解透视!德...
透视教材!hhpoker有透视... 透视教材!hhpoker有透视功能吗(透视)其实有辅助下载(哔哩哔哩)1)hhpoker有透视功能吗...
现场直击!微信牵手跑胡子辅助工... 现场直击!微信牵手跑胡子辅助工具,一直真的有辅助挂(有挂秘籍)-哔哩哔哩1、进入游戏-大厅左侧-新手...
辅助透视!云扑克有透视吗,德州... 辅助透视!云扑克有透视吗,德州局透视脚本下载安装最新版本(透视)其实真的有辅助神器(哔哩哔哩)1、玩...