@FeignClient注解理解

本文详细介绍了Spring Cloud OpenFeign中的@FeignClient注解,包括其作用、配置选项如value、name、serviceId、contextId、url、decode404、configuration、fallback和fallbackFactory等,并提供了具体的使用示例,帮助理解如何在实际开发中应用。
摘要由CSDN通过智能技术生成

Feign基本介绍

首先来个基本的普及,怕有些同学还没接触过Spring Cloud。Feign是Netflix开源的一个REST客户端,通过定义接口,使用注解的方式描述接口的信息,就可以发起接口调用。

GitHub地址:https://github.com/OpenFeign/feign

下面是GitHub主页上给的一个最基本的使用示列,示列中采用Feign调用GitHub的接口。

	interface GitHub {
   
  		@RequestLine("GET /repos/{owner}/{repo}/contributors")
  		List<Contributor> contributors(@Param("owner") String owner, @Param("repo") String repo);

 	 	@RequestLine("POST /repos/{owner}/{repo}/issues")
 		void createIssue(Issue issue, @Param("owner") String owner, @Param("repo") String repo);

	}

	public static class Contributor {
   
  		String login;
 	 	int contributions;
	}

	public static class Issue {
   
  		String title;
  		String body;
  		List<String> assignees;
  		int milestone;
  		List<String> labels;
	}

	public class MyApp {
   
  		public static void main(String... args) {
   
    	GitHub github = Feign.builder()
                         .decoder(new GsonDecoder())
                         .target(GitHub.class, "https://api.github.com");
  
    // Fetch and print a list of the contributors to this library.
    List<Contributor> contributors = github.contributors("OpenFeign", "feign");
    for (Contributor contributor : contributors) {
   
      System.out.println(contributor.login + " (" + contributor.contributions + ")");
    }
  }
}

Spring Cloud OpenFeign介绍

Spring Cloud OpenFeign是Spring Cloud团队将原生的Feign结合到Spring Cloud中的产物。从上面原生Feign的使用示列来看,用的注解都是Feign中自带的,但我们在开发中基本上都是基于Spring MVC的注解,不是很方便调用。所以Spring Cloud OpenFeign扩展了对Spring MVC注解的支持,同时还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。

GitHub地址:https://github.com/spring-cloud/spring-cloud-openfeign

官方提供的使用示列:

@FeignClient("stores")
public interface StoreClient {
   
    @RequestMapping(method = RequestMethod.GET, value = "/stores")
    List<Store> getStores();

    @RequestMapping(method = RequestMethod.POST, value 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值