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 文件上传(单文件与多文件)

    java 文件上传(单文件与多文件)

    这篇文章主要介绍了java 文件上传(单文件与多文件)的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • Java设计模式之享元模式

    Java设计模式之享元模式

    这篇文章主要为大家详细介绍了Java设计模式之享元模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • java IP地址网段计算的示例代码

    java IP地址网段计算的示例代码

    这篇文章主要介绍了java IP地址网段计算的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 简述IDEA集成Git在实际项目中的运用

    简述IDEA集成Git在实际项目中的运用

    这篇文章主要介绍了IDEA集成Git在实际项目中的运用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • Spring Boot整合JWT的实现步骤

    Spring Boot整合JWT的实现步骤

    本文主要介绍了Spring Boot整合JWT,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • java 栈和堆区别详细介绍

    java 栈和堆区别详细介绍

    这篇文章主要介绍了java 栈和堆区别详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • SpringBoot配置Spring Security的实现示例

    SpringBoot配置Spring Security的实现示例

    本文主要介绍了SpringBoot配置Spring Security的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • 浅谈MultipartFile中transferTo方法的坑

    浅谈MultipartFile中transferTo方法的坑

    这篇文章主要介绍了MultipartFile中transferTo方法的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring-AOP @AspectJ进阶之如何绑定代理对象

    Spring-AOP @AspectJ进阶之如何绑定代理对象

    这篇文章主要介绍了Spring-AOP @AspectJ进阶之如何绑定代理对象的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring循环依赖产生与解决

    Spring循环依赖产生与解决

    Spring的解决循环依赖是有前置条件的,要解决循环依赖我们首先要了解Spring Bean对象的创建过程和依赖注入的方式。依赖注入方式,我之前的博客有所分享,大家可以在看本篇文章之前进行一下小小的回顾
    2022-12-12

最新评论