我使用了一个库,它使用 spring-cloud-openfeign 定义了一些 OpenFeign 客户端。我需要向这些客户端添加一个拦截器,以在不更改库代码的情况下添加授权标头。
到目前为止,我只是将拦截器定义为 Spring bean,一切正常。但是现在我添加了另一个需要不同拦截器的 OpenFeign 客户端,我使用注释的configuration
属性定义了它。@FeignClient
我的问题是新客户端现在获得了两个拦截器。
我尝试使用应用程序属性配置第一个拦截器,但拦截器需要注入另一个 bean,这似乎需要将其定义为 bean,这将再次将其添加到第二个客户端。
我还尝试找到与 CDI@Typed
注释等效的内容,以便仅在查找它的具体类时才能找到拦截器,而在查找RequestInterceptor
接口时却找不到,但找不到任何接口。
有什么方法可以将配置添加到库中定义的 OpenFeign 客户端,这样它就不会影响任何其他客户端?