用过不少 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
1
aidoudou Aug 23, 2020
3
|
2
wongy Aug 23, 2020 用的是 hutool-http 工具包
|
3
coetzee Aug 23, 2020
用的 feign,feign 默认用的 httpclient,但是我们替换成了 OK
|
4
flyfanc Aug 23, 2020
3
|
5
zliea Aug 23, 2020 via iPhone resttemplate over httpclient/okhttp
|
6
lovelive1024 Aug 23, 2020
3
|
7
srx1982 Aug 23, 2020
4
|
8
chendy Aug 23, 2020
6 ( RestTemplate )套着 2 ( HttpClient ),spring-boot 自动配置
|
9
Foxkeh Aug 23, 2020
234567 都用, 老项目 234, 新项目 256
|
10
rockyou12 Aug 23, 2020
OkHttp 和 feign 用得多,如果写 android 会用 Retrofit 。基本不管用哪个,多少都要针对业务做封装或配置
|
11
zoharSoul Aug 23, 2020
okhttp + retrofit
|
12
DreamSpace Aug 23, 2020 via Android
restTemplate over okhttp
但是 restTemplate 不好做文件下载 |
13
vimfox Aug 23, 2020
AsyncHttpClient
|
14
skypyb Aug 23, 2020 via Android jdk9 新增的那个 httpclient 有坑的,不让设置一些敏感的请求头, 而且你本地能跑指不定到服务器上就崩了。 我用 java11 就遇到过。 想要
要关掉这个检查还得上 jdk12 才能有这个设置 |
15
WebKit Aug 23, 2020 via Android
okhttp
|
16
Cyron Aug 23, 2020
简单请求 Hutool 可以
|
17
ilumer Aug 23, 2020
feign
|
18
zhouhui Aug 23, 2020
jodd http
https://jodd.org/ |
19
xuanbg Aug 23, 2020
3 对外,5 对内
|
20
sagaxu Aug 23, 2020 via Android
同步阻塞用 okhttp,唯一不足是不支持带 body 的 GET 请求。
异步和协程用 vertx-web-client 。 都会做些封装,但是发现也没少写很多代码 |
21
qwerthhusn Aug 23, 2020
非大佬,用的 OkHttp 封装的对外
JDK 自带的 HttpClient 用过,但是在 TLS1.3 的情况下有 BUG,弃用了。不过过了这么久 BUG 可能已经修复了,如果后面有新工程准备用这个重新封装。 对内的话,直接 Feign 了,管他底层是用的 Apache 还是 OkHttp 不用 Apache HttpClient 的原因是,一个模型太复杂,没仔细去看里面详细的东西,文档也不好,官网就几个示例,不像 OkHttp,就一个统一的 OkHttpClient 一把梭;还有一个问题就是版本兼容性不好,4.4 的 API,4.5 发现就编译报错了。 |
22
crossoverJie Aug 23, 2020
|
23
JadeV Aug 23, 2020 via iPhone
httpclient 有 fluent-hc 这个官方封装的链式调用的
|
24
m1ch3ng Aug 23, 2020
hutool
|
25
em998 Aug 23, 2020 via iPhone
没人用 unirest 么
|
26
kingfalse Aug 23, 2020 via Android
jsoup,不管是爬虫还是平常服务调接口我都用这个
|
27
szuwl Aug 23, 2020 没有人用 unirest 么
|
28
BBCCBB Aug 23, 2020
当然是 feign 啊.
|
29
oneoy Aug 23, 2020 via Android
原声 socket
|
30
KevinBlandy Aug 23, 2020
RestTemplate
|
31
yeziqing Aug 23, 2020
JDK11 自带的 HttpClient
|
32
cassyfar Aug 23, 2020
apach httpclient 有什么不好?
|
33
Cuo Aug 23, 2020 via iPhone
个人项目用 4
|
34
Cbdy Aug 23, 2020 via Android
遇到过 jdk9 的 httpclient 的一些 bug,我用 resttemplate
@DreamSpace 你遇到什么下载文件的问题? |
35
micean Aug 23, 2020 via Android
vertx 自带
|
36
tairan2006 Aug 23, 2020
用 4
|
38
jzmws Aug 23, 2020
spring boot 项目直接用 RestTemplate 很方便
|
39
wdlth Aug 23, 2020
OKHttp
|
40
chocotan Aug 23, 2020
主要用 okhttp
偶尔用 asynchttpclient |
41
guanhui07 Aug 23, 2020
3
|
42
iFlicker Aug 23, 2020 via Android
HttpURLConnection 🙈
|
43
arloor Aug 23, 2020
appache 的 httpclient 5.0 才支持 http2,而且 beta
|
44
mango88 Aug 23, 2020 vertx 的 WebClient
|
45
sutra Aug 24, 2020
看情况,大部分情况下,不直接使用 http client,而是选择封装过的。比如只是调用 RESTful API 时,RestTemplate 就很方便。
|
46
unco020511 Aug 24, 2020
原来 java 也能用 retrofit 吗,我以为只有 Android 才用
|
47
ShotaconXD Aug 24, 2020
RestTemplate 很好用啊.
|
48
abc0 Aug 24, 2020
Requests 不香吗?
|
49
wbf1013 Aug 24, 2020
上周哪位用 hutool 的大佬,爬了我们网站[doge]
|
50
Yano Aug 24, 2020
RestTemplate 。如果 postman 请求的话,能直接复制 Java 代码,这时就用 okhttp
|
51
JRay Aug 24, 2020
hutool-http + 1
|
52
seanxx Aug 24, 2020
5
|
53
william2ct Aug 24, 2020
3
|
54
nutting Aug 24, 2020
http2.0 好像很多不支持,okhttp 可以
|
55
qocja Aug 24, 2020
postman 复制出来的 okttp 代码
|
56
bigpower777 Aug 24, 2020
netty 自己写一个想要什么都有~
|
57
tramm Aug 24, 2020
okhttp
现在 forest,对 okhttp,httpclient 的封装 |
58
yamasa Aug 24, 2020
webflux 内的 webclient 。在 reactor 那上面的一套。另外,“. 但其实对于后端来说,几乎所有的都是非常简单的 json 请求”?? 说这种话可要谨慎啊。
|
59
luxinfl Aug 24, 2020
36 对外,5 对内
|
60
leaderhyh Aug 24, 2020
Retrofit
|
61
Kamiyu0087 Aug 24, 2020 用 HttpURLConnection #手动捂脸
|
62
nxforce Aug 24, 2020 via Android
@Kamiyu0087 不错,识货,用了 10 年了,除非要求强上 http2.0,不然这货就是最简单的选择。
|
63
supermoonie Aug 24, 2020 via iPhone
我大 Netty 呢🐶
|
64
chachae Aug 24, 2020
feign
|
65
hdfg159 Aug 24, 2020 via Android
vertx web client
|
66
751762476 Aug 25, 2020
ktor webclient
|
67
fivesmallq Sep 22, 2020
|