apache httpclient 工具类_使用HttpClient进行服务的远程调用
目标:使用apache公司的产品http httpcomponents 完成服务调用。
HTTPClient调用服务
4:导入httpclient的依赖配置
org.apache.httpcomponentshttpclient4.5.2commons-loggingcommons-logging1.1.3
3:编写测试类
package com.icoding.client;
import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.BasicResponseHandler;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.junit.Test;
//使用httpclient完成服务编排public class HttpClientDemo {
// 1: 创建httpclient工具类,用于发送不同的请求 private CloseableHttpClient httpClient = HttpClients.createDefault();
@Test public void testHttpClient() throws Exception{ // 请求地址 String url = "http://localhost:8088/user/get/1";
// 2: 创建get请求 HttpGet httpGet = new HttpGet(url); // 3: 发送请求, // 参数1:需要发送的请求 ,参数二:相应的内容 BasicResponseHandler,把响应的正文内容获取,返回字符串数据 String result = httpClient.execute(httpGet, new BasicResponseHandler());
System.out.println(result); }
}
打印结果如下:
{"id":1,"userName":"zhangsan","password":"123456","name":"张三","age":30,"sex":1,"birthday":"1964-08-07T16:00:00.000+0000","created":"2014-09-19T08:56:04.000+0000","updated":"2014-09-21T03:24:59.000+0000","note":"张三同学在学Java"}
4:如果你想把json字符串转成对象,可以导入jackson将字符串json转成对象 ,
com.fasterxml.jackson.corejackson-core2.9.6
com.fasterxml.jackson.corejackson-databind2.9.6
==注:当然springboot-web-stater包已经包含了jackson这个依赖,所以也可以不用引入上面的依赖也可以。==
在HttpClientDemo.java
中增加如下代码:
package com.icoding.springboothttpclient.http;
import com.fasterxml.jackson.databind.ObjectMapper;import com.icoding.springboothttpclient.pojo.User;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.BasicResponseHandler;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;
public class HttpClientDemo {
// 发起请求的工具类 private static CloseableHttpClient closeableHttpClient = HttpClients.createDefault();
public static void main(String[] args) throws Exception {
// 请求地址 String url = "http://localhost:8089/getuser/1";
// 2: 创建get请求 HttpGet httpGet = new HttpGet(url);
// 3: 发送请求, String result = closeableHttpClient.execute(httpGet, new BasicResponseHandler()); // 参数1:需要发送的请求 ,参数二:相应的内容 BasicResponseHandler,把响应的正文内容获取,返回字符串数据
// 将json字符串转换成对象 ObjectMapper objectMapper = new ObjectMapper(); User user = objectMapper.readValue(result, User.class);
System.out.println(result); System.out.println(user);
}
}
结果如下:
User(id=1, userName=zhangsan, password=123456, name=张三, age=30, sex=1, birthday=Sat Aug 08 00:00:00 CST 1964, created=Fri Sep 19 16:56:04 CST 2014, updated=Sun Sep 21 11:24:59 CST 2014, note=张三同学在学Java)
回复关键词
JUC 分布式限流 消息队列 alibaba JVM性能调优 Docker
看更多精彩教程
别忘了点个在看哦!转发那就太好了!
apache httpclient 工具类_使用HttpClient进行服务的远程调用相关推荐
- apache httpclient 工具类_HttpClient
HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
- apache httpclient 工具类_HttpClient 和Mycat 主从节点和读写分离
第175次(HttpClient) 学习主题:HttpClient 学习目标: 1 掌握HttpClient自定义工具以及HttpClient具体的使用 对应视频: http://www.itbaiz ...
- Java开发小技巧(五):HttpClient工具类
前言 大多数Java应用程序都会通过HTTP协议来调用接口访问各种网络资源,JDK也提供了相应的HTTP工具包,但是使用起来不够方便灵活,所以我们可以利用Apache的HttpClient来封装一个具 ...
- HttpClient工具类
HttpClient工具类 package cn.sh.steven.httpclient;import com.alibaba.fastjson.JSON; import com.alibaba.f ...
- 使用单例模式实现自己的HttpClient工具类
本文转载自:http://www.cnblogs.com/codingmyworld/archive/2011/08/17/2141706.html 使用单例模式实现自己的HttpClient工具类 ...
- 14、阿里云短信Demo演示、Http的Get请求和Post请求演示、httpClient工具类演示、发送短信模块搭建、搭建用户中心模块、完成user注册基本功能、验证码存入redis、短信验证码注册
阿里云短信Demo演示 一.前端部分 无前端. 二.后端部分 1.创建发送短信测试模块SmsSendDemo,不用使用骨架. 2.在pom文件中引入依赖坐标 <dependency>< ...
- 工具类-httpClient工具类
httpClient工具类 1.httpClient工具类(http/https.重发.超时.连接数的设置) package com.xxxxxxx.xxxx.xxxx.payutil;import ...
- HttpClient工具类封装
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...
- HttpClient工具类及应用
Content-Type类型: 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格 ...
最新文章
- php文件下载教学,php下载文件的代码示例
- Serializable Parcelable
- ACM试题 - 另一种阶乘问题
- 如何用Python破解验证码,适合新手练手
- Chapter 5 : 索引和算法
- 运筹说 第41期 | 运输问题硬核知识点梳理—表上作业法求解运输问题
- 用java计算定积分
- centos安装VirtualBox增强包VBoxGuestAdditions
- OFDM学习笔记(四)(信道估计简介)
- [Linux学习] 实战系列之网络管理
- Eclipse中去掉代码中的警告Warn
- 包学会之浅入浅出Vue.js:开学篇(转)
- 随机数生成器【欧拉常数】
- 阿里云服务器学生应该怎么购买教程以及将远程主机配置成服务器教程
- 字体界的黑科技!输入数字立刻生成酷炫信息图的字体
- windows下一些启动服务的命令
- 市场因子(Market Factor)——投资组合分析(EAP.portfolio_analysis)
- android github框架大全
- 【省选模拟】西行(FWT)
- 【考研精品词】历年英语真题词汇精析