springcloud

feign 初体验

2020-02-08  本文已影响0人  木山手札

所需服务

配置

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
@FeignClient("foo-service")
@RequestMapping("/foo")
public interface FooServiceFeign {
    @RequestMapping("/echo")
    String echo(@RequestParam("message") String message);
}
  1. @FeignClient("foo-service") 声明调用的服务名称
  2. 接口可以使用springmvc相关注解
@Value("${server.port}")
private int serverPort;

@RequestMapping("/echo")
public String echo(String message) {
    System.out.println("FooController.echo "+System.currentTimeMillis());
    return "foo-service echo {" + message + "} from serverPort="+serverPort;
}

其它配置

feign:
  compression: # reqeust、response开启压缩
    request:
      enabled: true
      mime-types: # 设置压缩的数据类型,以下是默认值
        - text/html
        - application/xml
        - application/json
      min-request-size: 1024 # 超过该值触发压缩,默认2048
    response:
      enabled: true
  client:
    config:
      foo-service: # 对应服务名称
        loggerLevel: FULL

logging:
  level:
    org.invoke.feign.FooServiceFeign: debug
  1. 针对feign request、response可以开启压缩
  2. feign打印详细日志时,定义feign接口所在的包也必须同时开启debug模式

配置类

  1. FeignClientProperties -> feign.client
上一篇 下一篇

猜你喜欢

热点阅读