前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud 使用 Feign 调用服务接口

Spring Cloud 使用 Feign 调用服务接口

作者头像
北漂的我
发布2019-09-25 15:58:43
5120
发布2019-09-25 15:58:43
举报
文章被收录于专栏:北漂的我北漂的我

1. Spring Cloud 集成 Feign

在客户端项目中引入

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

在 Application 主类上添加 @EnableFeignClients 注解

2. 创建 Client 接口类

例如: 服务调用的实际地址为: http://fsh-house/house/hello

代码语言:javascript
复制
@FeignClient(value="fsh-house", path="/house")
public interface HouseRemoteClient {

	@GetMapping("/hello")
	String hello();
}

3. Feign 的自定义日志配置

通过查看源码, Feign 的日志级别有4级, NONE, BASIC, HEADERS, FULL

代码语言:javascript
复制
@Configuration
public class FeignConfiguration {

	@Bean
	Logger.Level feignLoggerLevel(){
		return Logger.Level.FULL;
	}
}

然后在 properties 配置文件中添加 Client 的日志级别, 才能在日志中显示.

4. Feign 的契约配置

原生的 Feign 是不支持 SpringMvc 注解的, Spring Cloud 中使用 SpringMvcContract 契约在 Feign 的基础上做了扩展, 才使得 Feign 支持 SpringMvc 注解, 如果在 Spring Cloud 中想使用 Feign 的原生注解来定义 client, 那就要通过更改契约配置来实现

代码语言:javascript
复制
@Configuration
public class FeignConfiguration {
	
	@Bean
	public Contract feignContract() {
		return new Contract.Default();
	}
}

使用 Feign 默认契约后, 就不支持 SpringMvc 注解了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档