[英]Using Feign in a standalone library vs a Springboot application
我想為Some-Micro-Service創建一個客戶端庫(Some-Micro-Service-Client),這樣就可以輕松地將其包含在Some-Other-Micro-service的pom中。
我想使用Feign,因為它使事情變得容易,但是我不確定我的體系結構是否可以實現。 我看到的所有Feign示例都從在SpringBootAppplication類上使用@EnableFeignClient批注開始,但是由於我不希望客戶端庫必須“啟動”,所以我想知道是否可以僅包含它在庫中使用,而不使用EnableFeignClient批注。
是的,您可以在沒有@EnableFeingClient
批注的情況下使用偽裝 。 假設,我們想從接收數據這個 API。 在下面的示例中,我使用了Feign Core和Feign Gson依賴項。
首先,我們需要創建類,在其中我們將獲得json結果:
public class TODO {
private long id;
private long userId;
private String title;
private boolean completed;
\\ getters and setters ...
}
之后,我們使用將來的rest-client方法聲明接口:
public interface TaskApi {
@RequestLine("GET /todos/{id}")
TODO getTODO(@Param("id") int id);
}
最后,讓我們構建所需的其余客戶並提出測試請求:
public class FeignTest {
private static final String API_PATH = "https://jsonplaceholder.typicode.com";
public static void main(String[] args) {
TaskApi taskApi = Feign.builder()
.decoder(new GsonDecoder())
.target(TaskApi.class, API_PATH);
TODO todo = taskApi.getTODO(1);
}
}
有關更多信息和可能性,您可以在官方資料庫中閱讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.