请问 feign 只能通过硬编码指定 encoder, decoder 等配置吗?

2023-01-10 21:48:47 +08:00
 purenothingform

feign 只能通过硬编码(如下)指定 encoder ,decoder 等配置吗(在 github 主页没找到相关的说明)?

Feign.builder
.encoder(new MyEncoder())
.decoder(new MyDecoder());

不能通过其他方式(如 spi )实现解耦吗?

1202 次点击
所在节点    Java
6 条回复
kkjinping
2023-01-11 09:31:04 +08:00
可以注解啊
lry
2023-01-11 10:42:04 +08:00
一般一个 feign client 就是一个 encoder / decoder 吧,什么场景下会需要灵活配置?
RedBeanIce
2023-01-11 12:36:10 +08:00
我记得有办法、但是好像不能说部分指定。也就是 1234 、四个 client ,,12 用一个 de 和 en ,,34 用一个 de 和 en ,,直接是对 1234 全部用一个
litchinn
2023-01-11 14:16:18 +08:00
把 new 改成 spring 注入不就可以用 conditional 的方式了吗,你提供默认的,使用方也可以自定义
purenothingform
2023-01-11 15:48:08 +08:00
@litchinn 非 spring 项目
sunjiayao
2023-01-12 15:18:11 +08:00
在 MyDecoder 里根据自己的规则再找对应的 Decoder 呗。或者在 ResponseInterceptor 里自己写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/908025

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX