성명 식 서비스 호출 fegin
4676 단어 마이크로 서비스
Feign 은 Http 클 라 이언 트 를 더 간단하게 만 드 는 성명 식 가짜 Http 클 라 이언 트 입 니 다.Feign 을 사용 하려 면 인 터 페 이 스 를 만 들 고 주석 을 달 아야 합 니 다.이것 은 삽입 가능 한 주해 특성 을 가지 고 있 으 며, Feign 주해 와 JAX - RS 주 해 를 사용 할 수 있다.Feign 은 삽입 가능 한 인 코더 와 디코더 를 지원 합 니 다.Spring Cloud Feign 은 넷 플 릭 스 Feign 을 기반 으로 Spring Cloud Ribbon 과 Spring Cloud Hystrix 를 통합 하고 성명 식 웹 서비스 클 라 이언 트 정의 방식 을 실현 했다.
요컨대
2. feign 서 비 스 를 만 듭 니 다.
pom 파일 을 만 들 고 다음 과 같이 수정 합 니 다.
4.0.0
com.vesus
springcloud-fegin
0.0.1-SNAPSHOT
jar
springcloud-fegin
Demo project for Spring Boot
com.vesus
springcloud-demo
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-starter
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-feign
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
2. application. yml 프로필 을 만 들 고 등록 센터 주 소 를 추가 합 니 다.
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #
spring:
application:
name: spring-cloud-fegin
server:
port: 8764
3. 인터페이스 HelloService 를 정의 하고 @ FeignClient ("서비스 이름") 를 통 해 어떤 서 비 스 를 호출 할 지 지정 합 니 다.
package com.vesus.springcloudfegin.service;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
@FeignClient(value = "spring-cloud-service")
//springcloud-service
public interface HelloService {
@RequestMapping(value = "/hello") //springcloud-service
public String sayHello() ;
}
4, 컨트롤 러 HelloWordController 가입
package com.vesus.springcloudfegin.controller;
import com.vesus.springcloudfegin.service.HelloService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@Autowired
HelloService helloService ;
@RequestMapping(value = "/hello")
public String sayHello(){
return helloService.sayHello() ;
}
}
5. 입구 방법 은 @ EnableFeignClient 에 가입 하고 fegin 지원 을 증가 합 니 다.
package com.vesus.springcloudfegin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class SpringcloudFeginApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudFeginApplication.class, args);
}
}
프로젝트 시작, 접근 http://localhost:8764/hello ,Hello World 보이 기.
코드:https://gitee.com/vesus198/springcloud-demo/tree/master/springcloud-fegin
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
마이크로 서비스 간에feign을 통해 서로 호출되며, 크로스 서버 호출 시 이상이 발생: No route to host해결: feign이 다른 서비스를 호출하는 것도 eureka 등록센터 서비스를 획득하여 서비스가 등록된 IP에 문제가 있는지 추측하고 지정한 appId의 실례를 조회한다. eureka url/eureka/apps/{...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.