gpt4 book ai didi

spring-boot - 如何为特定客户端设置自定义 Feign RequestInterceptor?

转载 作者:行者123 更新时间:2023-12-02 12:47:10 29 4
gpt4 key购买 nike

我需要向一些新的伪装客户端添加自定义授权 header 。所以我写了一个 RequestInterceptor 并且它起作用了,但关键是我不希望这个自定义 RequestInterceptor 影响我的旧客户。我尝试使用 template.url() 方法进行过滤,但它没有给我请求的整个 url,它只包含客户端方法 url(不是在客户端类上方宣布的 url 和路径)。
我的问题是如何定位拦截器?

这是我的配置:

@Configuration
open class FeignCustomConfiguration {

private fun generateToken(): String { ... }

@Bean
open fun requestInterceptor(): RequestInterceptor {
return RequestInterceptor {
it.header("Authorization", generateToken())
}
}
}

最佳答案

我找到了解决方案。
每个 FeignClient 都有一个 configuration接受类数组的选项。在 kotlin 中为配置分配类的语法如下:

@FeignClient(
name = "feign-client",
path = "/path",
url = "https://example.com",
configuration = [FeignCustomConfiguration::class]
)
interface FeignCustomClient {
...
}

有了这个分配,每个 FeignClient 都有自己的配置,RequestInterceptor 不处理其他客户端。

关于spring-boot - 如何为特定客户端设置自定义 Feign RequestInterceptor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56847094/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com