-
@FeignClient카테고리 없음 2023. 12. 7. 09:07
선언적 웹 서비스 클라이언트
http요청을 보내는 코드를 간소화 하고 가독성을 향상시킬 수 있습니다
사용법
1. 의존성 추가
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
implementation platform("org.springframework.cloud:spring-cloud-dependencies:2021.0.5") implementation "org.springframework.cloud:spring-cloud-starter-openfeign"
2. feign 활성화 @EnableFeignClients 어노테이션을 사용하여 Feign을 활성화합니다. 이 어노테이션은 보통 메인 클래스 또는 설정 클래스에 추가합니다.
@SpringBootApplication @EnableFeignClients public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
3. Feign Client 정의 : @FeignClient 어노테이션을 사용하여 Feign Client를 정의합니다. 이때 인터페이스를 정의하고, 이 인터페이스에 메서드를 추가하여 각 메서드가 어떤 HTTP 요청을 보낼지를 정의합니다.
@FeignClient(name = "regionFilterClient", url = "http://52.78.235.179:89") public interface RegionFilterClient { @GetMapping("/admin/v2/apis/region-filter/bmdCode") String getRegionFilterData(@RequestParam("longitude") Double x, @RequestParam("latitude") Double y); }
4. Feign Client 사용 : 정의한 Feign Client를 사용하여 HTTP 요청을 보냅니다. 이때, Feign Client 인터페이스를 @Autowired로 주입받아 사용합니다.
@Autowired private RegionFilterClient regionFilterClient; public void getFilterData() { String result = regionFilterClient.getRegionFilterData(126.8957, 35.1452); // 결과 처리 }