Spring使用hutool的HttpRequest发送请求的几种方式

 更新时间:2024年11月22日 09:23:17   作者:Yeast_东  
Spring HttpRequest是指Spring框架中的一个对象,它代表了HTTP客户端发送给Web服务器的一次请求,本文给大家介绍了Spring使用hutool的HttpRequest发送请求的几种方式,并通过代码示例讲解的非常详细,需要的朋友可以参考下

hutool为我们封装了发送请求的工具,我们一起来看看常用的有哪些吧!

1.添加依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.11</version> <!-- 请使用最新版本 -->
</dependency>

2.发送get请求

2.1 直接url传参

import cn.hutool.http.HttpUtil;
import cn.hutool.core.util.StrUtil;
 
public class HttpGetExample {
 
    public static void main(String[] args) {
        // 定义基础 URL 和路径
        String baseUrl = "http://example.com";
        String path = "/api/test";
        // 定义参数
        String name = "zhangsan";
        int age = 21;
        // 构建完整的 URL
        String url = StrUtil.format("{}/{}?name={}&age={}", baseUrl, path, name, age);
        // 发送 GET 请求
        String result = HttpUtil.get(url);
        // 输出响应结果
        System.out.println("Response: " + result);
    }
}

2.2 Map传参

import cn.hutool.http.HttpUtil;
import java.util.HashMap;
import java.util.Map;
 
public class HttpGetExample {
 
    public static void main(String[] args) {
        // 定义基础 URL 和路径
        String baseUrl = "http://example.com";
        String path = "/api/test";
        // 构建完整的 URL
        String url = baseUrl + path;
        // 定义参数
        Map<String, Object> params = new HashMap<>();
        params.put("name", "aa");
        params.put("age", 21);
        // 发送 GET 请求
        String result = HttpUtil.get(url, params);
        // 输出响应结果
        System.out.println("Response: " + result);
    }
}

2.3 Form传参

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import java.util.HashMap;
import java.util.Map;
 
public class HttpGetExample {
 
    public static void main(String[] args) {
        // 定义基础 URL 和路径
        String baseUrl = "http://example.com";
        String path = "/api/test";
        // 构建完整的 URL
        String url = baseUrl + path;
        // 定义参数
        Map<String, Object> params = new HashMap<>();
        params.put("name", "aa");
        params.put("age", 21);
        // 发送 GET 请求
        String result = HttpRequest.get(url)
                .form(params)
                .execute()
                .body();
        // 输出响应结果
        System.out.println("Response: " + result);
    }
}

3. 发送Post请求

3.1 Json传参

    public static void main(String[] args) {
        // 定义基础 URL 和路径
        String baseUrl = "http://example.com";
        String path = "/api/test";
        // 构建完整的 URL
        String url = baseUrl + path;
        // 定义参数
        String jsonString = "{\"token\":\"1234567890\",\"userId\":\"user123\",\"userName\":\"张三\"}";
        // 发送 GET 请求
        String result = HttpRequest.post(url)
                .header("Access-Token", token) // 如果需要
                .header("Content-Type","application/json")
                .body(jsonString)
                .execute()
                .body();
        // 输出响应结果
        System.out.println("Response: " + result);
    }

3.2 Form传参

    public static void main(String[] args) {
        // 定义基础 URL 和路径
        String baseUrl = "http://example.com";
        String path = "/api/test";
        // 构建完整的 URL
        String url = baseUrl + path;
        // 定义参数
        Map<String, Object> params = new HashMap<>();
        params.put("name", "aa");
        params.put("age", 21);
        // 发送 GET 请求
        String result = HttpRequest.post(url)
                .header("Content-Type","multipart/form-data;charset=UTF-8")
                .form(params)
                .execute()
                .body();
        // 输出响应结果
        System.out.println("Response: " + result);
    }

到此这篇关于Spring使用hutool的HttpRequest发送请求的几种方式的文章就介绍到这了,更多相关Spring HttpRequest发送请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot项目中添加自定义日志及配置过程

    springboot项目中添加自定义日志及配置过程

    这篇文章主要介绍了springboot项目中添加自定义日志,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • SpringCloud中使用Sentinel实现限流的实战

    SpringCloud中使用Sentinel实现限流的实战

    限流在很多地方都可以使用的到,本篇博客将介绍如何使用SpringCloud中使用Sentinel实现限流,从而达到服务降级的目的,感兴趣的可以了解一下
    2022-01-01
  • Java 数据库连接池Druid 的介绍

    Java 数据库连接池Druid 的介绍

    这篇文章主要给大家分享的是 Java 数据库连接池Druid 的介绍,Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池,下面来看看文中的详细内容,需要的朋友也可以参考一下
    2021-11-11
  • Java 8中的Collectors API介绍

    Java 8中的Collectors API介绍

    这篇文章主要介绍了Java 8中的Collectors API,Stream.collect()是Java 8的流API的终端方法之一。它允许我们对流实例中保存的数据元素执行可变折叠操作,下文相关内容需要的小伙伴可以参考一下
    2022-04-04
  • struts2过滤器和拦截器的区别分析

    struts2过滤器和拦截器的区别分析

    这篇文章主要介绍了struts2过滤器和拦截器的区别,简单分析了struts2框架中过滤器和拦截器的概念与相关使用区别,需要的朋友可以参考下
    2016-04-04
  • SpringBoot整合Caffeine实现本地缓存的实践分享

    SpringBoot整合Caffeine实现本地缓存的实践分享

    缓存是提升系统性能的一个不可或缺的工具,通过缓存可以避免大部分重复的请求到数据库层,减少IO链接次数,提升整体的响应速率,本地缓存中比较常见的比如 Caffeine 缓存,这篇文章将结合具体的 Springboot 项目搭配 Caffeine 实现本地缓存的各种使用方式
    2024-07-07
  • 使用IDEA进行安卓开发的详细图文教程

    使用IDEA进行安卓开发的详细图文教程

    安卓开发本身就是Java开发的一个分支,我们要确保计算机已经安装好JDK并做好了相关的配置,下面这篇文章主要给大家介绍了关于如何使用IDEA进行安卓开发的详细图文教程,需要的朋友可以参考下
    2023-04-04
  • Spark内存调优指南

    Spark内存调优指南

    这篇文章主要为大家介绍了Spark内存调优指南数据序列化分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • String类的获取功能、转换功能

    String类的获取功能、转换功能

    这篇文章给大家介绍了String类的获取功能:String类的基本获取功能、获取功能的举例子、String类的基本转换功能、转换功能的举例子。具体详情大家参考下本文
    2018-04-04
  • 分页技术原理与实现之Java+Oracle代码实现分页(二)

    分页技术原理与实现之Java+Oracle代码实现分页(二)

    这篇文章主要介绍了分页技术原理与实现的第二篇:Java+Oracle代码实现分页,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论