我想为 Some-Micro-Service 创建一个客户端作为库(Some-Micro-Service-Client),这样它就可以轻松地包含在 Some-Other-Micro-Service 的 pom 中。
我想使用 Feign,因为它使事情变得更容易,但我不确定我的架构是否可行。我看到的所有 Feign 示例都是从在 SpringBootAppplication 类上使用 @EnableFeignClient 注释开始的,但由于我不希望必须“启动”客户端库,所以我想知道是否可以将其包含在库中而不使用 EnableFeignClient 注释。
最佳答案
是的,您可以使用feign没有 @EnableFeingClient
注释。假设,我们想要从 this 接收数据API。在下面的示例中我使用 Feign Core和Feign Gson依赖关系。
首先我们需要创建类,在其中我们将获取json结果:
public class TODO {
private long id;
private long userId;
private String title;
private boolean completed;
\\ getters and setters ...
}
之后,我们声明与 future 的其余客户端方法的接口(interface):
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);
}
}
有关更多信息和可能性,您可以阅读 official repository 。
关于java - 在独立库中使用 Feign 与 Springboot 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56383675/