Feign兜底数据 fallback
作者:互联网
微服务调用时当调用接口出现一场或者熔断降级,此时我们需求返回默认兜底数据,搞起来!
引入依赖
fallback基于sentinel
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
开启feign支持sentinel配置
feign:
sentinel:
enabled: true
创建兜底数据返回类
需要实现被调用的feign接口,并且添加注解@service 交给spring扫描
package net.gorld.feign;
import org.springframework.stereotype.Service;
@Service
public class ProductFeignFallback implements ProductFeign {
@Override
public String get() {
return "兜底数据返回";
}
}
feign 接口设置fallback
package net.gorld.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
@Service
@FeignClient(value = "product",fallback = ProductFeignFallback.class)
public interface ProductFeign {
@GetMapping("test/get")
String get();
}
验证测试
被调用接口模拟异常
package gorld.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("test")
public class ProductController {
@GetMapping("get")
public String get(){
int a=1/0;
return "获取商品成功";
}
}
postman访问
OK!!!
标签:Feign,兜底,get,feign,springframework,org,import,fallback,public 来源: https://blog.csdn.net/csdn570566705/article/details/122134034