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