4. Spring Cloud 의 Feign 구성 요소
org.springframework.cloud
spring-cloud-starter-feign
2. 인터페이스 만 들 기
메모: @ FeignClient 주석 에 있 는 cloud - service 는 Eureka 에 등 록 된 서비스 이름 입 니 다.
원리: Eureka 에 등 록 된 cloud - service 프로젝트 에서 도 하나의 contrller 는 같은 findById 방법 과 파 라 메 터 를 가지 고 있 습 니 다. 여기 서 Feign 인 터 페 이 스 를 통 해 service - cloud 의 contrller 방법 과 일치 합 니 다.
package com.itmuch.cloud;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient(name="cloud-service") // name
public interface UserFeignClient {
@GetMapping("/get/{id}")
public User findById(@PathVariable("id") Long id);
}
3. 컨트롤 러 호출
/**
* #3 Feign
* @param id
* @return
*/
@GetMapping("/feign/{id}")
public User findByIdFeign(@PathVariable Long id) {
return userFeignClient.findById(id);
}
주 프로그램
@ EnableFeignClient 설명 추가
package com.itmuch.cloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class CloudConsumerApplication {
@Bean // RestTemplate restTemplate = new RestTemplate();
@LoadBalanced // Ribbon
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(CloudConsumerApplication.class, args);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.