微服务 feign的使用以及使用代码配置访问方式或者配置文件配置打印日志

一 、 feign的基本使用:
1.首先你需要在poml文件中配置:<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

2.然后创建一个接口`
public interface UserClient {
@RequestMapping(value=”/find/{id}”,method=RequestMethod.GET)
public User find(@PathVariable(“id”) Long id);
}
3.需要你在启动类上加@EnableFeignClients
4.最后创建Controlle类写实现
@RestController
public class MovieController {
@Autowired
private UserClient userClient;
@Autowired
private UserConfigClient userConfigClient;

  @GetMapping("/movie/{id}")
 public User find(@PathVariable Long id){
 return this.userClient.find(id);
   }

}

二、feign使用代码配置
1.首选你需要创建新的Configuration中配置的方法比如 UserFeignConfig
代码如下:
`package com.intmouch.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import feign.Contract;
import feign.Logger;

@Configuration
public class UserFeignConfig {
@Bean
public Contract feignContract() {
return new feign.Contract.Default();
}
@Bean
Logger.Level UserFeignConfig() {
return Logger.Level.FULL;
}
}
2.然后创建新的接口比如UserConfigClient ,其中FeignClient中的name对应是你要调用的服务名,configuration后面是上面已经实现的类,但是我们在实现的时候与上面默认基本是不一样比如:@RequestLine(“GET /find/{id}”)我们使用但是这个注解,前面是请求方式,后面是地址 并且在传参 的由PathVariable 改 Param
代码如下:`package com.intmouch.cloud.feign;

import org.springframework.cloud.netflix.feign.FeignClient;

import com.intmouch.cloud.model.User;
import com.intmouch.config.UserFeignConfig;

import feign.Param;
import feign.RequestLine;

@FeignClient(name=”microservice-li-provider-user”,configuration=UserFeignConfig.class)
public interface UserConfigClient {
@RequestLine(“GET /find/{id}”)
public User find(@Param(“id”) Long id);

}`
3.用上述的controller层测试就可以了。

三、日志的输出
1.在配置两个地方就可以了如下图所示:
这里写图片描述
这里写图片描述
总结:要是小伙伴有不懂的可以参考官方文档:
http://cloud.spring.io/spring-cloud-static/Camden.SR7/#_feign_request_response_compression

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值