簡體   English   中英

在獨立庫和Springboot應用程序中使用Feign

[英]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 CoreFeign 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM