Да, вы можете использовать feign без @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);
}
И в заключение давайте построим желаемый клиент rest и сделаем тестовый запрос:
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);
}
}
Дополнительную информацию и возможности вы можете прочитать в официальном репозитории .