feign遠端呼叫
阿新 • • 發佈:2021-10-25
一、Fegin的使用步驟如下
1.引入依賴
我們在order-service服務的pom檔案中引入feign的依賴:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
2.添加註解
在order-service的啟動類添加註解(@EnableFeignClients)開啟Feign的功能:
3.編寫Feign的客戶端
在order-service中新建一個介面,內容如下:
import cn.itcast.order.pojo.User; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @FeignClient("userservice") public interface UserClient { @GetMapping("/user/{id}") User findById(@PathVariable("id") Long id); }
這個客戶端主要是基於SpringMVC的註解來宣告遠端呼叫的資訊,比如:
-
服務名稱:userservice
-
請求方式:GET
-
請求路徑:/user/{id}
-
請求引數:Long id
-
返回值型別:User
這樣,Feign就可以幫助我們傳送http請求
4.測試
修改order-service中的OrderService類中的queryOrderById方法
@Autowired private UserClient userClient; public Order queryOrderById(Long orderId) { // 1.查詢訂單 Order order = orderMapper.findById(orderId); User user = userClient.findById(order.getUserId()); order.setUser(user); // 4.返回 return order; }