Feign客戶端實現RPC 調用


1,springcloud 中支持http調用的兩種方式,RestTemplate,Feign客戶端

2,Feign 客戶端是一個聲明式(注解方式)http 遠程調用工具

3,實現方式如下:

第一步:

例如member 服務需要調用order 服務,采用feign 客戶端調用的方式

member 服務中添加依賴:

    <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>

在member 服務中,定義feign 接口:

@FeignClient(name = "app-aiyuesheng-order") :代表這個接口是調用 app-aiyuesheng-order(eureka 中注冊服務的別名) 這個服務中的getOrder的接口

@FeignClient(name = "app-aiyuesheng-order")
public interface OrderFeign {

    @RequestMapping("/getOrder")
    public String getOrder();
}

第二步:controller 中直接引入即可

@RestController
public class IndexMemberController {

    @Autowired
    private OrderFeign orderFeign;

    @RequestMapping("/getOrder")
    public String getOrder() {
        String res = orderFeign.getOrder();
        return res;
    }
}

第三步:啟動類中加入@EnableFeignClients

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

order 服務中,要有這個getOrder的具體實現:

@RestController
public class IndexOrderController {

    @RequestMapping("/getOrder")
    public String getOrder(){
        return "獲得訂單成功";
    }
    
}

 

依次將注冊中心,member 服務,order 服務啟動就可以通過feign 客戶端來訪問了。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM