问题描述
我们可以在使用 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
导入:FeignClientsConfiguration
、Decoder
、Encoder
、Contract
。
FeignLoggerFactory
用于使用 Spring REST 注解,如 Contract
。
@PostMapping