SpringBoot接收form-data和x-www-form-urlencoded数据的方法

 更新时间:2024年05月22日 09:51:28   作者:程序员橙子  
form-data和x-www-form-urlencoded是两种不同的HTTP请求体格式,本文主要介绍了SpringBoot接收form-data和x-www-form-urlencoded数据的方法,具有一定的参考价值,感兴趣的可以了解一下

基础入门

form-data和x-www-form-urlencoded是两种不同的HTTP请求体格式。

  • form-data是一种多部分表单数据格式,常用于文件上传和包含二进制数据的表单提交。在form-data中,每个字段都有一个唯一的标识符,可以携带键值对、文件和其他类型的数据。
  • x-www-form-urlencoded是一种编码格式,常用于包含简单字段(如字符串)的表单提交。在x-www-form-urlencoded中,数据以URL编码格式传输,每个键值对之间用&符号分隔。

在HTML中,form元素的enctype属性用于指定请求体的格式。默认情况下,enctype为application/x-www-form-urlencoded,可以通过设置enctype="multipart/form-data"来使用form-data格式。

案例学习

form-data

  • 传参案例:通过HTTP请求的body以multipart/form-data的格式传输数据。
  • 后端接收方式(示例为Spring Boot)
@RestController
@RequestMapping("/test")
public class DemoController {

    @PostMapping("/createUser")
    public String createUser(@RequestParam("name") String name, @RequestParam("age") int age) {
        // 处理逻辑
        System.out.println("name:" + name);
        System.out.println("age:" + age);
        // ...
        return "Success";
    }

}

Postman测试

在这里插入图片描述

form-data的请求是在body中,为key=value格式,同时可以传文件,Content-Type为multipart/form-data,后端可以用@RequestParam接收

在这里插入图片描述

form-data是一种HTTP请求中传输数据的方式,通常用于上传文件或者发送复杂的请求。数据会以multipart/form-data的格式进行编码,通过HTTP请求的body传输。

在这里插入图片描述

x-www-form-urlencoded

  • 传参案例:通过HTTP请求的body以key-value形式传输数据。
  • 后端接收方式(示例为Spring Boot)
@RestController
@RequestMapping("/test")
public class DemoController {

    @PostMapping("/createUser")
    public String createUser(@RequestParam("name") String name, @RequestParam("age") int age) {
        // 处理逻辑
        System.out.println("name:" + name);
        System.out.println("age:" + age);
        // ...
        return "Success";
    }

}

注意这里的body有变化

在这里插入图片描述

发送成功后,后台接收到入参请求

在这里插入图片描述

通常情况下,当需要上传文件时应该使用form-data方式,而只传输文本数据时可以使用x-www-form-urlencoded方式。

到此这篇关于SpringBoot接收form-data和x-www-form-urlencoded数据的方法的文章就介绍到这了,更多相关SpringBoot接收form-data和x-www-form-urlencoded内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java File类的概述及常用方法使用详解

    Java File类的概述及常用方法使用详解

    Java File类的功能非常强大,下面这篇文章主要给大家介绍了关于Java中File类的概述及常用方法使用,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Java实现轻松提取word和pdf文档内容

    Java实现轻松提取word和pdf文档内容

    这篇文章主要为大家详细介绍了如何使用Java实现轻松提取word和pdf文档内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-10-10
  • 详解Java中native关键字

    详解Java中native关键字

    这篇文章主要为大家详细介绍了Java中native关键字,什么是Native Method
    2016-02-02
  • Spring中的@Qualifier注解详解

    Spring中的@Qualifier注解详解

    这篇文章主要介绍了Spring中的@Qualifier注解详解,spring @Autowire 的注解默认是按类型注入bean,本文将对其使用方法进行说明,需要的朋友可以参考下
    2023-11-11
  • Java vector的详解及实例

    Java vector的详解及实例

    这篇文章主要介绍了Java vector的详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • Spring WebFlux 流式数据拉取与推送的实现

    Spring WebFlux 流式数据拉取与推送的实现

    本文介绍了使用Spring WebFlux实现流式数据拉取与推送的方案,通过配置长超时、连接池和重试机制优化性能,实现了阻塞与非阻塞的结合,感兴趣的可以了解一下
    2025-09-09
  • IntelliJ IDEA无法识别JDK的环境变量配置问题排查与解决全流程

    IntelliJ IDEA无法识别JDK的环境变量配置问题排查与解决全流程

    进行Java开发时,开发者可能会遇到各种与JDK版本相关的问题,这篇文章主要介绍了IntelliJ IDEA无法识别JDK的环境变量配置问题排查与解决的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2025-09-09
  • Java中将base64编码字符串转换为图片的代码

    Java中将base64编码字符串转换为图片的代码

    这篇文章主要介绍了Java中将base64编码字符串转换为图片,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Mybatis关联映射的实现

    Mybatis关联映射的实现

    本文介绍了MyBatis关联映射的实现方式,直接查询和分步查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • java7 简化变参方法调用实例方法

    java7 简化变参方法调用实例方法

    在本篇文章里我们给大家整理的是关于java7 简化变参方法调用实例方法以及实例代码,需要的朋友们学习下。
    2019-11-11

最新评论