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发送请求内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot使用war包部署到外部tomcat过程解析

    springboot使用war包部署到外部tomcat过程解析

    这篇文章主要介绍了springboot使用war包部署到外部tomcat过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 详解Java中的JDK、JRE、JVM

    详解Java中的JDK、JRE、JVM

    本文主要介绍了Java中的JDK、JRE、JVM的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Java反射之类的实例对象的三种表示方式总结

    Java反射之类的实例对象的三种表示方式总结

    下面小编就为大家带来一篇Java反射之类的实例对象的三种表示方式总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 关于ObjectUtils.isEmpty() 和 null 的区别

    关于ObjectUtils.isEmpty() 和 null 的区别

    这篇文章主要介绍了关于ObjectUtils.isEmpty() 和 null 的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java老矣 尚能饭否?

    Java老矣 尚能饭否?

    Java老矣,尚能饭否?各类编程语言横空出世,纷战不休,然而 TIOBE 的语言排行榜上,Java 却露出了明显的颓势。这个老牌的语言,未来会是怎样?
    2017-06-06
  • 浅谈Spring中Bean的作用域、生命周期

    浅谈Spring中Bean的作用域、生命周期

    这篇文章主要介绍了浅谈Spring中Bean的作用域、生命周期,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 扫二维码自动跳转【java】详解

    扫二维码自动跳转【java】详解

    这篇文章主要介绍了java扫二维码自动跳转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 这么优雅的Java ORM没见过吧!

    这么优雅的Java ORM没见过吧!

    这篇文章主要介绍了Java ORM的相关资料,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • SpringBoot的@Conditional条件注解详解

    SpringBoot的@Conditional条件注解详解

    这篇文章主要介绍了SpringBoot的@Conditional条件注解详解,打开每个自动配置类,都会看到@Conditional或其衍生的条件注解,本节我们来认识下@Conditional注解,需要的朋友可以参考下
    2023-12-12
  • Spring Security架构以及源码详析

    Spring Security架构以及源码详析

    这篇文章主要给大家介绍了关于Spring Security架构以及源码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06

最新评论