SpringCloud学习笔记day4(Feign使用步骤)
1 Feign 介绍
Feign是一个声明式的http客户端,官方地址: https://qithub.com/OpenFeign/feign。其主要作用就是帮助我们优雅的实现http请求的发送,能够解决传统的使用RestTemplate方式调用存在的代码可读性差,编程体验不统一,以及多数复杂URL难以维护的问题。Feign的强大之处不止能够远程调用,同时还能实现负载均衡。
2 使用步骤
1.引入Feign依赖,代码如下
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
2.在目标启动类中添加@EnableFeignClients注解开启Feign的功能
3.编写Feign客户端
package cn.itcast.feign.clients; import cn.itcast.feign.pojo.User; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @FeignClient(value = "userservice") public interface UserClient { @GetMapping("/user/{id}") User findById(@PathVariable("id") Long id); }
主要是基于SpringMVC的注解来卢明远程调用的信息,比如: 服务名称: userservice ● 请求方式: GET ● 请求路径: /user/{id} ● 请求参数: Long id ● 返回值类型: User
4.使用Feign客户端代替RestTemplate
3 自定义Feign的配置
配置Feign日志有两种方式: 方式一:配置文件方式
1.全局生效:
2.局部生效
方式二:JAVA代码方式
首先声明一个bean:
public class DefaultFeignConfiguration { @Bean public Logger.Level logLevel(){ return Logger.Level.BASIC; } }
而后如果是全局配置,则把它放到@EnableFeignClients这个注解中:
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration.class)
如果是局部配置,则把它放到@FeignClient这个注解中:
@FeignClient(value = "userservice" ,configuration = FeignClientConfiguration.class)
上一篇:
JS实现多线程数据分片下载
下一篇:
自愈路由技术---鼎峰更懂您的服务器网络