더북(TheBook)

이제 라이선싱 서비스에서 Feign 클라이언트를 사용하도록 설정했으므로 조직 서비스의 엔드포인트를 호출할 Feign 클라이언트의 인터페이스 정의를 살펴보자. 다음 코드는 이 예를 보여 주며, src/main/java/com/optimagrowth/license/service/client/OrganizationFeignClient.java 클래스 파일에 있다.

코드 6-16 조직 서비스를 호출하는 Feign 인터페이스 정의하기

// 이해를 돕기 위해 package와 import 문 생략
@FeignClient("organization-service") 
public interface OrganizationFeignClient {
    @RequestMapping( 
        method=RequestMethod.GET,
        value="/v1/organization/{organizationId}",
        consumes="application/json")
    Organization getOrganization(
        @PathVariable("organizationId") 
        String organizationId);
}

➊ Feign에 서비스를 알려 준다.

➋ 엔드포인트 경로와 액션(verb)을 정의한다.

➌ 엔드포인트에 전달되는 매개변수를 정의한다.

코드 6-16에서 @FeignClient 애너테이션을 사용하여 인터페이스를 대표할 서비스의 애플리케이션 ID를 전달했다. 그런 다음 클라이언트가 조직 서비스를 호출하려고 호출되는 getOrganization() 메서드를 정의했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.