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

 更新时间:2024年11月22日 10:33:56   作者:Yeast_东  
文章介绍了Hutool库中用于发送HTTP请求的工具,包括添加依赖、发送GET和POST请求的方法,以及GET请求的不同参数传递方式,感兴趣的朋友跟随小编一起看看吧

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);
    }

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

相关文章

  • Java集合系列之LinkedList源码分析

    Java集合系列之LinkedList源码分析

    这篇文章主要为大家详细介绍了Java集合系列之LinkedList源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 详解SpringSecurity中的Authentication信息与登录流程

    详解SpringSecurity中的Authentication信息与登录流程

    这篇文章主要介绍了SpringSecurity中的Authentication信息与登录流程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能

    这篇文章主要介绍了Java远程连接Linux服务器并执行命令及上传文件功能,本文是小编整理的代码笔记,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • Java 高并发十: JDK8对并发的新支持详解

    Java 高并发十: JDK8对并发的新支持详解

    本文主要介绍Java 高并发JDK8的支持,这里整理了详细的资料及1. LongAdder 2. CompletableFuture 3. StampedLock的介绍,有兴趣的小伙伴可以参考下
    2016-09-09
  • Java 实战项目之教材管理系统的实现流程

    Java 实战项目之教材管理系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现教材管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Java骚操作之CountDownLatch代码详解

    Java骚操作之CountDownLatch代码详解

    这篇文章主要介绍了Java骚操作之CountDownLatch代码详解,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Java异常日志堆栈丢失的原因与排查

    Java异常日志堆栈丢失的原因与排查

    这篇文章主要给大家介绍了关于Java异常日志堆栈丢失的原因与排查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Groovy的规则脚本引擎实例解读

    Groovy的规则脚本引擎实例解读

    这篇文章主要介绍了Groovy的规则脚本引擎实例解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 一文详解Java如何实现自定义注解

    一文详解Java如何实现自定义注解

    Java实现自定义注解其实很简单,跟类定义差不多,只是属性的定义可能跟我们平时定义的属性略有不同,这篇文章主要给大家介绍了关于Java如何实现自定义注解的相关资料,需要的朋友可以参考下
    2024-07-07
  • Java中的AQS同步队列问题详解

    Java中的AQS同步队列问题详解

    AQS 提供一套基础的机制来实现线程的同步、阻塞与唤醒、等待队列等功能,也就是想要深入学习线程工具类,这个同步队列就必须得掌握,这篇文章主要介绍了Java中的AQS同步队列问题,需要的朋友可以参考下
    2022-06-06

最新评论