各位 Java 大佬你们 http 客户端都用什么?

2020-08-23 10:06:26 +08:00
 changdy

用过不少 httpclient , 感觉大部分 client 细节非常多. 但其实对于后端来说,几乎所有的都是非常简单的 json 请求, 用起来颇有一种大炮打蚊子的感觉.

目前公司系统针对各自的请求对 apache httpclient 进行了非常简单的封装,但即便如此,也不具备通用性.想问下各位 V 友,你们是怎么选择 httpclient 的 , 有没有进行过二次封装

1, java 9+ 自带 httpclient(我比较喜欢这种链式调用的,但是 java8 没有)

2, apache 原生 httpclient

3, 封装过的 apache httpclient

4, OkHttp

5, Feign

6, RestTemplate

7, Retrofit

12355 次点击
所在节点    Java
69 条回复
qwerthhusn
2020-08-23 13:31:39 +08:00
非大佬,用的 OkHttp 封装的对外
JDK 自带的 HttpClient 用过,但是在 TLS1.3 的情况下有 BUG,弃用了。不过过了这么久 BUG 可能已经修复了,如果后面有新工程准备用这个重新封装。

对内的话,直接 Feign 了,管他底层是用的 Apache 还是 OkHttp

不用 Apache HttpClient 的原因是,一个模型太复杂,没仔细去看里面详细的东西,文档也不好,官网就几个示例,不像 OkHttp,就一个统一的 OkHttpClient 一把梭;还有一个问题就是版本兼容性不好,4.4 的 API,4.5 发现就编译报错了。
crossoverJie
2020-08-23 15:43:39 +08:00
CoSpLi
2020-08-23 15:49:04 +08:00
httpclient 有 fluent-hc 这个官方封装的链式调用的
m1ch3ng
2020-08-23 16:09:12 +08:00
hutool
wancaibida
2020-08-23 16:13:56 +08:00
没人用 unirest 么
kingfalse
2020-08-23 16:59:29 +08:00
jsoup,不管是爬虫还是平常服务调接口我都用这个
szuwl
2020-08-23 17:01:37 +08:00
没有人用 unirest 么
BBCCBB
2020-08-23 17:13:26 +08:00
当然是 feign 啊.
oneoy
2020-08-23 17:42:56 +08:00
原声 socket
KevinBlandy
2020-08-23 17:47:24 +08:00
RestTemplate
yeziqing
2020-08-23 18:41:00 +08:00
JDK11 自带的 HttpClient
cassyfar
2020-08-23 18:48:29 +08:00
apach httpclient 有什么不好?
Cuo
2020-08-23 18:49:58 +08:00
个人项目用 4
Cbdy
2020-08-23 18:58:35 +08:00
遇到过 jdk9 的 httpclient 的一些 bug,我用 resttemplate
@DreamSpace 你遇到什么下载文件的问题?
micean
2020-08-23 19:22:08 +08:00
vertx 自带
tairan2006
2020-08-23 19:38:32 +08:00
用 4
coolxll
2020-08-23 19:59:13 +08:00
@szuwl #27 Unirest 挺好用的
jzmws
2020-08-23 20:11:45 +08:00
spring boot 项目直接用 RestTemplate 很方便
wdlth
2020-08-23 20:13:49 +08:00
OKHttp
chocotan
2020-08-23 20:47:13 +08:00
主要用 okhttp
偶尔用 asynchttpclient

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

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

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

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

© 2021 V2EX