openfeign的使用

在这里插入图片描述
首先,加入两个服务提供者一个服务消费者用于测试。

服务消费者openfeign配置:

依赖

<!--Open feign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>3.1.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
            <version>3.1.4</version>
        </dependency>

消除缓存警告依赖

		<dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caffeine</artifactId>
            <version>2.9.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>5.3.12</version>
        </dependency>

启动类添加注解

@EnableFeignClients

服务消费者创建
在这里插入图片描述
注意是接口
ParOpenFeignService代码

@FeignClient("QIESIYV-ZHUTI-TIGONG")//所要调用的服务名
@Component
public interface ParOpenFeignService {

    @GetMapping(value = "/ceshi/ceshi")//指向服务提供者方法地址
    String ceshi();
}

在这里插入图片描述
CuserController代码

 	@Resource
    private ParOpenFeignService parOpenFeignService;

    @GetMapping(value = "ceshi")
    public String ceshi(){
        return parOpenFeignService.ceshi();
    }

服务提供者创建CeshiController用于测试,方法为返回端口号
在这里插入图片描述

postman测试结果可见实现轮询
在这里插入图片描述
在这里插入图片描述
再测试接口执行5秒,发现未提示超时,可见新版openfeign的默认超时时间未再设置为1s

注意:

  1. 在Service接口部分,若要请求的方法请求方式为get且有参数,则需要添加@SpringQueryMap如,不添加的话服务提供方会报Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST’ not supported]的错误,即使你用的是@GetMapping。
    在这里插入图片描述

日志
NONE:默认级别,不显示日志
BASIC:仅记录请求方法、URL、响应状态及执行时间
HEADERS:除了BASIC中定义的信息之外,还有请求和响应头信息
FULL:除了HEADERS中定义的信息之外,还有请求和响应正文及元数据信息

配置类

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

@Configuration
public class FeignConfig {
    @Bean
    public Logger.Level feignLogLevel(){
        return Logger.Level.FULL;//级别
    }
}

yml

logging:
  level:
    qiesiyv.mainbody.service.*: debug #包名.类名: debug 以debug的形式打印日志

效果
在这里插入图片描述
一些问题解决参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翎墨袅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值