JDK11 HttpClient 发送HTTP请求 天天微动态

2023-01-18 22:40:58 来源:哔哩哔哩 分享到:

Jdk11 中新增了 HttpClient ,更方便做http 请求了。

其大体设计思路为


(相关资料图)

http 请求的连接相关东西在 HttpClient ,比如连接超时时间,也就是可以重复使用的请求客户端

请求本身内容在 HttpRequest,比如 请求方式(get post put delete 等),请求的url。对于多次请求,可以使用一个 HttpClient ,创建多个 HttpRequest,节省部分资源

请求返回的内容如何处理: HttpResponse 。比如,返回的内容是json,是Stream流 等。并且,此返回可以使用异步编程。

模拟接受请求的 Controller

普通 get 请求,这里演示了异步的处理方式

普通post 请求,展示了如何发送参数,自定义header 等

post 请求,在body 中带内容,这里对应的是 SpringMvc 中的 @RequestBody 对应的内容

附件上传(不推荐,这里需要借助 apache 的httpmime)

// 个人意见,既然已经引入了 apache 的 http 相关的依赖,那直接使用apache 的httpclient 更省事。何必还要使用原生的。 

所以,如果不需要上传附件,并且使用的jdk11及以上版本,为了减少外部依赖,可以考虑原生的httpClient。如果确实需要附件上传,那还是推荐jdk8之前的那种写法,或者直接更简单使用第三方的http 工具。

以下内容,只是演示如何处理,不推荐这么使用

关键词: APACHE CONTROLLER HEADER POST STREAM JSON Springmvc BODY HTTP 设计思路

Copyright   2015-2022 大众城建网 版权所有  备案号:豫ICP备20014643号-14   联系邮箱: 905 14 41 07@qq.com