V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
purenothingform
V2EX  ›  Java

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

  •  
  •   purenothingform · 2023-01-10 21:48:47 +08:00 · 1220 次点击
    这是一个创建于 701 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    6 条回复    2023-01-12 15:18:11 +08:00
    kkjinping
        1
    kkjinping  
       2023-01-11 09:31:04 +08:00
    可以注解啊
    lry
        2
    lry  
       2023-01-11 10:42:04 +08:00
    一般一个 feign client 就是一个 encoder / decoder 吧,什么场景下会需要灵活配置?
    RedBeanIce
        3
    RedBeanIce  
       2023-01-11 12:36:10 +08:00 via iPhone
    我记得有办法、但是好像不能说部分指定。也就是 1234 、四个 client ,,12 用一个 de 和 en ,,34 用一个 de 和 en ,,直接是对 1234 全部用一个
    litchinn
        4
    litchinn  
       2023-01-11 14:16:18 +08:00
    把 new 改成 spring 注入不就可以用 conditional 的方式了吗,你提供默认的,使用方也可以自定义
    purenothingform
        5
    purenothingform  
    OP
       2023-01-11 15:48:08 +08:00
    @litchinn 非 spring 项目
    sunjiayao
        6
    sunjiayao  
       2023-01-12 15:18:11 +08:00
    在 MyDecoder 里根据自己的规则再找对应的 Decoder 呗。或者在 ResponseInterceptor 里自己写
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5132 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:34 · PVG 11:34 · LAX 19:34 · JFK 22:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.