<!--1. 添加openfeign依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>@FeignClient(value = "mall‐order",path = "/order") public interface OrderFeignService { @RequestMapping("/findOrderByUserId/{userId}") public String findOrderByUserId(@PathVariable("userId") Integer userId); }/** * @author yanqx * @date 2023/11/13 14:10 */ @SpringBootApplication @EnableFeignClients public class FirsrtFeignApplication { public static void main(String[] args) { SpringApplication.run(FirsrtFeignApplication.class, args); } }@RestController @RequestMapping("/user") public class UserController { @Autowired OrderFeignService orderFeignService; @RequestMapping(value = "/findOrderByUserId/{id}") public R findOrderByUserId(@PathVariable("id") Integer id) { //feign调用 String result = orderFeignService.findOrderByUserId(id); return result; } }// 注意: 此处配置@Configuration注解就会全局生效,如果想指定对应微服务生效,就不 能配置 public class FeignConfig { /** * 日志级别 * * @return */ @Bean public Logger.Level feignLoggerLevel() { return Logger.Level.FULL; } }logging: level: com.yanqx.mall.feigndemo.feign: debug/** * 修改契约配置,支持Feign原生的注解 * @return */ @Bean public Contract feignContract() { return new Contract.Default(); }@FeignClient(value = "mall‐order",path = "/order") public interface OrderFeignService { @RequestLine("GET /findOrderByUserId/{userId}") public R findOrderByUserId(@Param("userId") Integer userId); }feign: client: config: mall‐order: #对应微服务 loggerLevel: FULL contract: feign.Contract.Default #指定Feign原生注解契约配置/** * @author yanqx * @date 2023/12/4 16:02 */ @Configuration public class FeignConfig { @Bean public Request.Options options() { return new Request.Options(5000, 10000); } }feign: client: config: mall‐order: #对应微服务 # 连接超时时间,默认2s connectTimeout: 5000 # 请求处理超时时间,默认5s readTimeout: 10000