SpringBoot与HttpClient:轻松实现GET和POST请求 。小编来告诉你更多相关信息 。
Spring本文核心导读:Spring及Boot与HttpClient的教程内容,一起来了解了解吧 。
1. HttpClient介绍HttpClient 是Apache Jakarta Common 下的子项目 , 可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议 。
文章插图
1.1. HttpClient作用
- 发送HTTP请求
- 接收响应数据
1.2. HttpClient应用场景当我们在使用扫描支付、查看地图、获取验证码、查看天气等功能时
文章插图
文章插图
其实,应用程序本身并未实现这些功能,都是在应用程序里访问提供这些功能的服务 , 访问这些服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现 。
SpringBoot与HttpClient:轻松实现GET和POST请求 。小编来告诉你更多相关信息 。
Spring
文章插图
1.3 HttpClient的maven坐标
org.apache.httpcomponentshttpclient4.5.13
1.4. HttpClient的核心API- HttpClient:Http客户端对象类型,使用该类型对象可发起Http请求 。
- HttpClients:可认为是构建器,可创建HttpClient对象 。
- CloseableHttpClient:实现类,实现了HttpClient接口 。
- HttpGet:Get请求类型 。
- HttpPost:Post请求类型 。
- 创建HttpClient对象
- 创建Http请求对象
- 调用HttpClient的execute方法发送请求
对HttpClient编程工具包有了一定了解后,那么 , 我们使用HttpClient在Java程序当中来构造Http的请求,并且把请求发送出去,接下来,就通过入门案例分别发送GET请求和POST请求,具体来学习一下它的使用方法 。项目结构创建HttpClient-demo,并导入对应依赖到pom.xml
- 完整项目结果
文章插图
- pom.xml 依赖
4.0.0spring-boot-starter-parentorg.springframework.boot2.7.15com.zbbmetaHttpClient-demo1.0-SNAPSHOT1111org.springframework.bootspring-boot-starter-weborg.projectlomboklombokorg.springframework.bootspring-boot-starter-testcom.github.xiaoyminknife4j-spring-boot-starter3.0.2org.apache.httpcomponentshttpclient4.5.13
2.1.GET方式请求实现步骤:- 创建HttpClient对象
- 创建请求对象
- 发送请求 , 接受响应结果
- 解析结果
- 关闭资源
com.zbbmeta.controller
包下创建HttpClientController
接口类 , 并创建testGET()方法package com.zbbmeta.controller;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import lombok.extern.slf4j.Slf4j;import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicHeader;import org.apache.http.util.EntityUtils;import org.junit.jupiter.api.Test;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.Arrays;/** * @author springboot葵花宝典 * @description: TODO */@RestController@RequestMapping(value = https://www.fajihao.com/"/httpclient\")@Slf4j@Api(tags = \"HttpClient测试接口\")public class HttpClientController {@GetMapping(\"/httpget\")@ApiOperation(value = https://www.fajihao.com/"http员工状态\")public String testGET() throws Exception{//创建httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();//创建请求对象HttpGet httpGet = new HttpGet(\"http://localhost:8899/admin/employee/status\");//发送请求,接受响应结果CloseableHttpResponse response = httpClient.execute(httpGet);//获取服务端返回的状态码int statusCode = response.getStatusLine().getStatusCode();System.out.println(\"服务端返回的状态码为:\" + statusCode);HttpEntity entity = response.getEntity();String body = EntityUtils.toString(entity);System.out.println(\"服务端返回的数据为:\" + body);//关闭资源response.close();httpClient.close();return \"服务端返回的数据为:\" + body;}n \"服务端返回的数据为:\" + body;}}
- 白瓜图片的功效与作用
- 如何区分古文中的“征”与“徵”? 迭怎么读
- 南红有什么功效和作用? 南红手串的功效与作用
- 枣的功效与作用及食用方法
- 顶级智能手机推荐 苹果iPhoneX详细参数与使用体验分享
- 音质出众的耳机推荐 小米活塞耳机简装版性能与价格比较
- 如何在word中制作目录页 制作目录的具体过程与方法
- 蜂蜜不能和什么一起吃,不宜与豆腐、洋葱同食
- 小麦胚芽粉的功效与作用
- 子集与并集 并集的讲解