Spring Cloud Feign 简单入门

Feign是一个生命是的web service 客户端,使用方式非常简单:接口+注解,spring cloud feign 对feign惊醒了增强使它支持了spring mcv注解。

示例(以下示例结合了Eureka):

引入依赖:

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
 </dependency>

配置启动类:

@SpringBootApplication
@EnableFeignClients
public class EurekaConsumerApplication {

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

}

配置Feign接口:

@FeignClient(name = "eureka-client-peer1")
public interface UserService {

    @RequestMapping(value = "/user/getUser",method = RequestMethod.POST)
    String getUserInfo(@RequestParam("name") String name);

}

配置一个Controoler用户调用:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/getUser")
    public String getUserInfo(String name){
        return userService.getUserInfo(name);
    }
}
1、注解@EnableFeignClients 表示当前程序启动时,会进行包扫描,扫描所有带@FeignClient注解的类并进行处理
2、注解
@FeignClient作用于目标借口上:
  1)name:指定FeignClirnt名称,如果项目使用Ribbon,name属性会作为微服务的名称,用于服务发现
  2)url:通常用于调试,可手动指定@FeignClient调用的地址
  3)configuration :指定feign的配置类
  4)fallback:指定容错的处理类,如果请求出现错误(例如:超时,报错等),可调用指定的容错处理类,该类必须实现@FeignClient接口
  5)path 统一FeignClient的前缀
  6)fallbackFactory:用来提供fallback类的工厂类,避免重复代码出现



  

原文地址:https://www.cnblogs.com/shiguotao-com/p/10412397.html