spring-cloud-feign案例


主要依賴

<dependencyManagement>
  <dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix</artifactId>
        <version>1.0.7RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
  </dependency>
</dependencies>

FeignClient 代碼

@FeignClient("bar-service")
public interface BarFeign{
  @RequestMapping(method = RequestMethod.GET ,value = "/bar" )
  String getBar();
}

@FeignClient("foo-service")
public interface FooFeign{
  @RequestMapping(method = RequestMethod.GET ,value = "/foo" )
  String getFoo();
}

App入口程序代碼及調用FeignClient的代碼

@RestController
@SpringBootApplication
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableEurekaClient
@EnableFeignClients
public class Application{

  @AutoWired
  FooFeign foo;

  @AutoWired
  BarFeign bar;

  @RequestMapping("/foo")
  public String foo(){
    return foo.getFoo();
  }
  @RequestMapping("/bar")
  public String bar(){
    return bar.getBar();
  }

  public static main(String[] args){
    SpringApplication.run(Application.class,args);
  }
}

測試可發現foo 和 bar 分別調用了foo-service 和bar-service服務
使用FeignClient可以使當前服務於其他服務更容易的集成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM