SpringCloud服务接口调用

SpringCloud服务接口调用

OpenFeign

是什么?

在这里插入图片描述

能干啥?

在这里插入图片描述

两者区别

在这里插入图片描述

OpenFeign使用

接口+注解

微服务调用接口+@FeignClient

Feign在消费端使用

新建cloud-consumer-feign-order80

导入eureka和openfeign依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

写yml文件:

server:
  port: 8080


eureka:
  client:
    register-with-eureka: false
    service-url:
      defaultZone: http://localhost:7001/eureka

项目结构:

在这里插入图片描述

Main层代码
@SpringBootApplication
@EnableFeignClients//启用Feign客户端
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class);
    }
}
service层

在这里插入图片描述

这里的@FeignClient中的value属性值对应的是8001端口注册进入eureka里面的微服务
在这里插入图片描述

controller层

在这里插入图片描述

总结:

相当于用户输入localhost:8080/consumer/payment/get/1

调用了paymentFeignService层的方法

又调用了CLOUD-PAYMENT-SERVICE这个微服务的/payment/get/1

在这里插入图片描述

我们明明没有写dao层,mybatis等等却拿到了数据,体现了服务接口调用的功能!

OpenFeign超时控制

OpenFeign默认等待1秒钟,吵过后报错

我们写了一个白等3秒钟的程序,让服务端去调用,就会报错

在这里插入图片描述

==

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4bktlt4-1685877591944)(C:\Users\11254\AppData\Roaming\Typora\typora-user-images\image-20230604182256609.png)]

我们可以在yml文件中修改等待的时间:

在这里插入图片描述

修改完,再次启动,OpenFeign,启动!

服务就会在转3s后返回,不会报错:

在这里插入图片描述

OpenFeign日志增强

在这里插入图片描述

日志级别

在这里插入图片描述

创建配置类
在这里插入图片描述

logging:
  level:
    com.atguigu.springcloud.service.PaymentFeignService: debug
    #feign日志以哪个级别控制哪个接口

可以看出日志非常详细

在这里插入图片描述

ljCQvX-1685877591945)]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值