purenothingform
V2EX  ›  Java

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

  •  
  •   purenothingform · Jan 10, 2023 · 1815 views
    This topic created in 1219 days ago, the information mentioned may be changed or developed.

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

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

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

    6 replies    2023-01-12 15:18:11 +08:00
    kkjinping
        1
    kkjinping  
       Jan 11, 2023
    可以注解啊
    lry
        2
    lry  
       Jan 11, 2023
    一般一个 feign client 就是一个 encoder / decoder 吧,什么场景下会需要灵活配置?
    RedBeanIce
        3
    RedBeanIce  
       Jan 11, 2023 via iPhone
    我记得有办法、但是好像不能说部分指定。也就是 1234 、四个 client ,,12 用一个 de 和 en ,,34 用一个 de 和 en ,,直接是对 1234 全部用一个
    litchinn
        4
    litchinn  
       Jan 11, 2023
    把 new 改成 spring 注入不就可以用 conditional 的方式了吗,你提供默认的,使用方也可以自定义
    purenothingform
        5
    purenothingform  
    OP
       Jan 11, 2023
    @litchinn 非 spring 项目
    luman
        6
    luman  
       Jan 12, 2023
    在 MyDecoder 里根据自己的规则再找对应的 Decoder 呗。或者在 ResponseInterceptor 里自己写
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5848 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 01:58 · PVG 09:58 · LAX 18:58 · JFK 21:58
    ♥ Do have faith in what you're doing.