目标:使用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进行服务的远程调用相关推荐

  1. apache httpclient 工具类_HttpClient

    HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

  2. apache httpclient 工具类_HttpClient 和Mycat 主从节点和读写分离

    第175次(HttpClient) 学习主题:HttpClient 学习目标: 1 掌握HttpClient自定义工具以及HttpClient具体的使用 对应视频: http://www.itbaiz ...

  3. Java开发小技巧(五):HttpClient工具类

    前言 大多数Java应用程序都会通过HTTP协议来调用接口访问各种网络资源,JDK也提供了相应的HTTP工具包,但是使用起来不够方便灵活,所以我们可以利用Apache的HttpClient来封装一个具 ...

  4. HttpClient工具类

    HttpClient工具类 package cn.sh.steven.httpclient;import com.alibaba.fastjson.JSON; import com.alibaba.f ...

  5. 使用单例模式实现自己的HttpClient工具类

    本文转载自:http://www.cnblogs.com/codingmyworld/archive/2011/08/17/2141706.html 使用单例模式实现自己的HttpClient工具类 ...

  6. 14、阿里云短信Demo演示、Http的Get请求和Post请求演示、httpClient工具类演示、发送短信模块搭建、搭建用户中心模块、完成user注册基本功能、验证码存入redis、短信验证码注册

    阿里云短信Demo演示 一.前端部分 无前端. 二.后端部分 1.创建发送短信测试模块SmsSendDemo,不用使用骨架. 2.在pom文件中引入依赖坐标 <dependency>< ...

  7. 工具类-httpClient工具类

    httpClient工具类 1.httpClient工具类(http/https.重发.超时.连接数的设置) package com.xxxxxxx.xxxx.xxxx.payutil;import ...

  8. HttpClient工具类封装

    HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...

  9. HttpClient工具类及应用

    Content-Type类型: 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格 ...

最新文章

  1. php文件下载教学,php下载文件的代码示例
  2. Serializable Parcelable
  3. ACM试题 - 另一种阶乘问题
  4. 如何用Python破解验证码,适合新手练手
  5. Chapter 5 : 索引和算法
  6. 运筹说 第41期 | 运输问题硬核知识点梳理—表上作业法求解运输问题
  7. 用java计算定积分
  8. centos安装VirtualBox增强包VBoxGuestAdditions
  9. OFDM学习笔记(四)(信道估计简介)
  10. [Linux学习] 实战系列之网络管理
  11. Eclipse中去掉代码中的警告Warn
  12. 包学会之浅入浅出Vue.js:开学篇(转)
  13. 随机数生成器【欧拉常数】
  14. 阿里云服务器学生应该怎么购买教程以及将远程主机配置成服务器教程
  15. 字体界的黑科技!输入数字立刻生成酷炫信息图的字体
  16. windows下一些启动服务的命令
  17. 市场因子(Market Factor)——投资组合分析(EAP.portfolio_analysis)
  18. android github框架大全
  19. 【省选模拟】西行(FWT)
  20. 【考研精品词】历年英语真题词汇精析

热门文章

  1. mysql 的数据备份_MySQL 数据备份与还原
  2. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。
  3. SpringMVC HandlerMethodReturnValueHandler扩展
  4. Hyperledger Fabric Membership Service Providers (MSP)——成员服务
  5. 妙趣横生的算法--二叉树
  6. 干掉勒索病毒的22岁程序员自曝黑历史:中学是电脑白痴
  7. shell脚本 回顾 小练习
  8. 2012年十大项目月度得分榜
  9. VSCode 设置 Tab 空格
  10. GraphQL —— 标量类型