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

Java 服务器端的 HTTP 客户端都采用什么框架?

  •  
  •   feihuxiongdi · 2018-12-13 20:00:07 +08:00 · 10335 次点击
    这是一个创建于 2170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Java 服务器端调用 http 接口流行用什么框架?

    • RestTemplate?
    • Apache HttpClient?
    • Square Okhttp?

    有没有相关文章的推荐,想了解一下拦截器、统一异常处理、代理等比较详细等知识点。

    谢谢!

    28 条回复    2020-11-23 16:21:58 +08:00
    qiyuey
        1
    qiyuey  
       2018-12-13 20:03:39 +08:00
    都有用到的,但是我们现在推荐的是全 RPC,不使用 HTTP。
    mejee
        2
    mejee  
       2018-12-13 20:04:42 +08:00 via Android
    你说的就挺流行呀,楼主有时间可以研究下 jdk11 自带的 http client
    zqguo
        3
    zqguo  
       2018-12-13 20:06:37 +08:00
    只用过 okhttp
    zzlhr
        4
    zzlhr  
       2018-12-13 20:10:00 +08:00
    只用 okhttp,会自己创建请求线程池,挺好的,如果考虑到性能,可以使用其他的库.
    rockyou12
        5
    rockyou12  
       2018-12-13 20:20:53 +08:00
    一般的 openfeign,和 retrofit 设计差不多用起来简单。底层又能用 okhttp 保证性能。
    jiangnanyanyu
        7
    jiangnanyanyu  
       2018-12-13 20:35:52 +08:00 via Android
    @unique 狙击群主😄
    BBCCBB
        8
    BBCCBB  
       2018-12-13 20:55:11 +08:00
    retrofit 或者 feign 啊。
    BBCCBB
        9
    BBCCBB  
       2018-12-13 20:55:38 +08:00
    底层可以选用不同实现,写起来简单, 美滋滋
    Cbdy
        10
    Cbdy  
       2018-12-13 21:06:42 +08:00 via Android   ❤️ 1
    Java11:JDK 自带的 HTTP Client
    Java8 到 Java11:Spring Web Client
    Java8 之前:Apache HTTP Client
    sagaxu
        11
    sagaxu  
       2018-12-13 21:09:22 +08:00 via Android
    vertx webclient
    S9Yh4wIFsBG7jnE4
        12
    S9Yh4wIFsBG7jnE4  
       2018-12-13 21:47:53 +08:00
    spring5 的 webclient 比 resttemplate 性能要好 是异步的
    jlkm2010
        13
    jlkm2010  
       2018-12-13 21:59:52 +08:00
    Java11:JDK 自带的 HTTP Client
    jlkm2010
        14
    jlkm2010  
       2018-12-13 22:00:15 +08:00
    java8 推荐使用 okhttp
    srx1982
        15
    srx1982  
       2018-12-13 22:09:28 +08:00
    RestTemplate 巨难用,再也不用了
    sakudie
        16
    sakudie  
       2018-12-13 22:17:53 +08:00
    SpringBoot 项目用 OpenFeign 很方便
    D3EP
        17
    D3EP  
       2018-12-13 23:52:24 +08:00
    没人用 async http client 么…底层是 netty,用的 netty 的解码器,性能杠杠的
    luosuosile
        18
    luosuosile  
       2018-12-14 08:45:59 +08:00
    spring 有自带的吧
    warcraft1236
        19
    warcraft1236  
       2018-12-14 10:31:38 +08:00
    我发现 feign 请求 flask 的 http server,response body 总是不认
    feihuxiongdi
        20
    feihuxiongdi  
    OP
       2018-12-14 10:38:18 +08:00
    @qiyuey 没有用过,不明觉厉
    feihuxiongdi
        21
    feihuxiongdi  
    OP
       2018-12-14 10:38:46 +08:00
    @mejee 生产中用不到 jdk11😢
    feihuxiongdi
        22
    feihuxiongdi  
    OP
       2018-12-14 10:39:24 +08:00
    @BBCCBB 好的,了解
    feihuxiongdi
        23
    feihuxiongdi  
    OP
       2018-12-14 10:39:37 +08:00
    @Cbdy 简明
    lilyblooper
        24
    lilyblooper  
       2018-12-14 11:06:33 +08:00
    @D3EP 有的有的,这个很不错。 还有 apache async httpclient,也是基于 netty。 有 epoll seletor 加持。 吞吐极高。
    Variazioni
        25
    Variazioni  
       2018-12-14 11:28:15 +08:00
    openfeign 感觉不错。。
    jackson18
        26
    jackson18  
       2018-12-15 13:31:32 +08:00
    目前用的是封的 apache httpclient
    gz911122
        27
    gz911122  
       2018-12-17 09:50:56 +08:00
    retrofit
    DtFlys
        28
    DtFlys  
       2020-11-23 16:21:58 +08:00
    推荐一个我自己写的的 Java HTTP 框架: https://gitee.com/dt_flys/forest
    不用再写底层细节的 HTTP 发送代码了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:30 · PVG 06:30 · LAX 14:30 · JFK 17:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.