[Spring] Feign client 사용법

홍승보·2022년 11월 21일
0

Spring

목록 보기
2/2

Feign Client란

Feign은 넷플릭스에서 개발한 웹 서비스 클라이언트 도구로 어노테이션을 템플릿화된 요청으로 처리해 동작하는 HTTP Client Binder다.인터페이스를 만들고 어노테이션을 붙이는 방식이기 때문에 별도의 구현 클래스 작성없이 간단하게 사용할 수 있는 장점이 있다.

1. 의존성 주입

Feign을 사용하기 위해서는 의존성 주입이 필요하다.

// maven 

<dependency>
	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign>/artifactId>
    <version>2.1.3.RELEASE</version>
<dependency>

2. App.java에 @EnableFeignClients 의존성 추가

3. Feign Client 작성

Client 클래스 작성시 인터페이스로 작성하고 어노테이션은 @FeignClient(name="testfeign")을 사용한다.
name은 서비스 디스커버리를 사용할 경우 호출되는 마이크로 서비스 이름에 해당한다. 또한 가져와야하는 url이나 configuration이 필요하다면 작성해서 넣어주면 된다.

@FeignClient(name="testfeign", url="http://localhost:8000", configuration={FeignConfiguration.class})
public interface TestClient {

@GetMapping("/testfeign")
String test(@PathVariable("id) int id);

}

4.Client 호출

이제 서비스에서 해당 Client만 주입해서 API만 호출해주면 된다.

@Service
public class TestService {

@Autowired
TestClient testClient;

public String test(id) {
~~~
testClient.test(id);
~~~
} 

profile
Junior BE Developer

0개의 댓글