前言
之前一直用Rest来调用第三方接口 一直听同事说Feign 才开始了解 做个记录~
开始
以前调用接口方式一直为
restTemplate.postForObject(url, httpEntity, Object.class);
Feign则是更为优雅的实现了接口调用
1.导入pom
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.启动类引入Feign注解
@SpringBootApplication
@EnableFeignClients
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}
3.编写Feign配置类(用来规范接口)
@FeignClient("sotck-server")
public interface StockClients {
@GetMapping("stock/reduct/{id}")
String findById(@PathVariable("id") Integer id);
}
4.调用接口
String msg = stockClients.findById(1);
调用的接口模块
@RestController
@RequestMapping("/stock")
public class StockController {
@RequestMapping("/reduct/{id}")
public String reduct(@PathVariable("id") Integer id){
System.out.println("扣减库存");
return "扣减库存id:" + id;
}
}