참고자료 를 보고 공부한 내용입니다.
이전 MSA 포스팅 : 이전포스팅
기존 MSA 개발 시 RestRemplateService 를 이용해 서비스 간 통신을 하였으나
좀더 편하게 사용하기 위해 FeignClient 가 개발되었다.
넷플릭스 에서 개발된 선언적 HTTP클라이언트 라고 한다.
FeignClient 는 HTTP API Client 의 단순화를 목표로 사용.
인터페이스를 만들어놓고 어노테이션을 적용하는 간단한 방법으로 사용 할 수 있다.
사용하는 방법
Gradle 에 의존성을 추가한다. 주의할 점은 사용중인 SpringBoot 의 버전과 호환을 확인 후 사용해아 한다. https://spring.io/projects/spring-cloud
러너(SpringBootApplication) 에 @EnableFeignClients 적용.
- 메인 어플리케이션 클래스에 설정한다.
- 하위 클래스의 @FeignClient 를 찾아 구현체를 생성하는 역할을 한다.
인터페이스(interface) 생성.
- 인터페이스를 생성하고 @FeignClient 어노테이션 설정.
- @FeignClient(name = "페인 클라이언트의 이름", url = "호출할 api의 url", configuration = FeignClientConfig.class)