微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在使用 SpringCloud OpenFeign 时为每个 Feign 实例创建不同的客户端?

如何解决有没有办法在使用 SpringCloud OpenFeign 时为每个 Feign 实例创建不同的客户端?

我们可以在使用 OpenFeign 时为 Feign 实例指定客户端,如下所示:

        his.fooClient = Feign.builder()
                .client(clientA)
                .target(FooClient.class,"https://PROD-SVC");

        this.adminClient = Feign.builder()
                .client(clientB)
                .target(FooClient.class,"https://PROD-SVC");

但是如果使用SpringCloud OpenFeign似乎没有办法做到这一点,所有Feign实例将共享一个客户端,因为我们无法根据文档为Feign实例配置客户端:{ {3}}。

那么如何在使用 SpringCloud OpenFeign 的同时实现这一目标?

解决方法

您必须手动创建 class Person public static function boot() { parent::boot(); static::deleting(function($model) { // before delete() method call this foreach($model->files as $file){ $file->delete(); } }); } } 实例,与使用 Feign 的方式相同。

好消息,您可以将部分 OpenFeign 配置与 SpringCloud OpenFeign 一起使用

也可以将 @Import({FeignClientsConfiguration.class}) 与这种方法一起使用。无法将 @RefreshScope 与由 @RefreshScope 注释创建的客户端一起使用。

对于简单的情况,可以使用 @FeignClient。但是它配置FeignClientBuilder的能力很差。

这些 bean 将从 Feign 导入:
FeignClientsConfigurationDecoderEncoderContract

FeignLoggerFactory 用于使用 Spring REST 注解,如 Contract

@PostMapping

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。