java - Java Feign 后备类
问题描述
我正在使用 SpringBoot 1.5.9 版。我不明白为什么我的后备课程不起作用。也许我做错了什么?
我的假客户:
@FeignClient(
name = "prices",
url = "${prices.url}",
configuration = MyFeignConfig.class,
fallbackFactory = FallbackClass.class
)
public interface PricesFeignClient {
@GetMapping("/{userId}")
PriceModel get(
@PathVariable("userId") String userId
);
}
这是后备类:
@Component
public class FallbackClass implements FallbackFactory<PricesFeignClient> {
@Override
public PricesFeignClient create(Throwable cause) {
return new PricesFeignClient() {
@Override
public PriceModel get(String userId) {
System.out.println("LALALA");
return null;
}
};
}
}
理论上,如果我的 Feign 客户端返回错误,我的后备方法应该会奏效。在 Price.url 文件中的 Feign 客户端中,我指定了错误的 URL(模拟了我正在调用的远程服务不可用的情况)。知道我的 Feign 客户端应该返回一个错误,并且应该调用 Fallback 类,在控制台中我应该收到消息:“LALALA”。
此消息不在控制台中:我的 Fallback 类没有被调用。相反,我收到一条错误消息,指出未找到请求的资源。
请告诉我可能是什么问题?我可以在某个地方犯错吗?
问题是,现在我正试图让我的后备课程开始工作。然后我想用不同的 URL 调用 Fallback 类中的另一个 Fagnet 类,以便在我的主要服务不可用时解决问题。请告诉我。谢谢
解决方案
推荐阅读
- reactjs - React-在设置状态之前检查是否安装了 cmp
- android - Android Jetpack Compose - livedata 对象重置为默认值
- laravel - 如何使用干预包将相同尺寸的水印添加到不同尺寸的图像?
- reactjs - 我在反应中使用命令 npm install 但我收到错误
- python - 如何迭代熊猫数据框并检查下一行
- cmake - 柯南和树莓派,怎么搭配使用?
- java - 使用 docker [MySQL] 运行 keycloak 时出错
- python - 如何将复杂几何划分为 n 等于子几何?
- wordpress - 我可以在上传之前管理从 Instagram 提取的照片吗?
- terraform - 带有 Terragrunt/Terraform 单一存储库的 CI/CD