OpenFeign?
REST형식의 API를 더 쉽게 호출할 수 있게 도와주는 오픈소스 라이브러리
넷플릭스에서 Feign라이브러리를 자체적으로 구현하여 사용되었다가
현재는 오픈소스인 OpenFeign이라는 라이브러리가 나와 더 많은 기능들이 지원되고 있다고한다.
적용법, 예제
단순 REST API CALL에 대한 적용법이다.
1. Dependency 추가
https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. SpringBootApplication에 @EnableFeignClents 어노테이션 추가
3. REST API에 대한 FeignClient Interface 작성
해당 인터페이스의 getMessageFeignApi를 호출하게 되면
"http://localhost:7500/feign/msg" 경로로 GET 방식으로 호출하게 된다.
(@RequestParam을 사용해 파라미터와 함께 요청도 가능하다.)
4. REST API 호출에 대한 처리 로직 작성
5. REST API 호출 테스트 작성
openFeignClient.getMessage(param); 부분을 보면
Feign 인터페이스에 정의된 메소드 만으로 API 호출을 할 수 있게 된다.
이 밖에도
call Fail에 대한 처리(fallBack),
connection time out 설정 등 다양한
API 호출에 대한 설정 처리를 할 수 있다.
이 전에 작성한 RestTemplate 보다 더 간편하게 API 호출 로직을 작성할 수 있는 것 같다.
RESULT
Console
'Spring, Spring Boot' 카테고리의 다른 글
[Spring Boot] JPA + H2 DATABASE (0) | 2022.09.13 |
---|---|
[Spring Boot] JUnit4 + Mock Test (0) | 2022.05.16 |
[Spring Boot] HTTP 통신을 위한 RestTemplate사용 (0) | 2022.05.07 |
[Spring Boot] MyBatis typeAlias 지정하기 (0) | 2022.04.01 |
[Spring Boot] 웹 페이징(Paging) 구현(2) (0) | 2022.03.28 |