springcloud之Feign调用

springcloud之Feign调用

​ 我们知道,Ribbon的调用方式是基于RestTemplate模板类的,这种方式需要我们自己拼接url,其过程相对复杂,而Feign调用就是为了解决这一问题的,我们只需要在消费方编写和提供方具有相同方法的接口,然后开启相关注解配置即可,使得我们就像调用本地方法一样,使用起来简洁方便,Feign 是在 Ribbon 的基础上进行了改进,也具有负载均衡功能。

1.建立一个使用Feign调用的消费者,此项目在SpringCloud 消费者和提供者文章中消费者80项目基础上进行改进,主要添加了service接口接口和controller的调用方式改变。

image-20201014193518882

@Component
@FeignClient("springcloud-provider-dept")
public interface DeptConsumerService {

    @RequestMapping("/dept/add")
    public boolean addDept(Dept dept);

    @RequestMapping("/dept/get/{id}")
    public Dept queryDeptById(@PathVariable("id") int id);

    @RequestMapping("/dept/list")
    public List<Dept> queryAllDept() ;

}

image-20201014193625115

@RestController
public class DeptConsumerController {

    @Autowired
    DeptConsumerService deptConsumerService;


    @RequestMapping("consumer/dept/add")
    public boolean addDept(Dept dept) {
        return deptConsumerService.addDept(dept);
    }

    @RequestMapping("consumer/dept/get/{id}")
    public Dept queryDeptById(@PathVariable("id") int id) {
        return deptConsumerService.queryDeptById(id);
    }

    @RequestMapping("consumer/dept/list")
    public List<Dept> queryAllDept() {
        return deptConsumerService.queryAllDept();
    }
}

image-20201014193743525

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = "com.huang")
@ComponentScan("com.huang")
public class Consumer_dept_feign {
    public static void main(String[] args) {
        SpringApplication.run(Consumer_dept_feign.class,args);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值