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

相关文章

  • 浅谈java7增强的try语句关闭资源

    浅谈java7增强的try语句关闭资源

    下面小编就为大家带来一篇浅谈java7增强的try语句关闭资源。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • SpringBoot整合Thymeleaf的方法

    SpringBoot整合Thymeleaf的方法

    这篇文章主要介绍了SpringBoot整合Thymeleaf的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下,希望能够帮助到你
    2021-07-07
  • spring task @Scheduled注解各参数的用法

    spring task @Scheduled注解各参数的用法

    这篇文章主要介绍了spring task @Scheduled注解各参数的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Gauva使用ListenableFuture介绍说明

    Gauva使用ListenableFuture介绍说明

    并发是一个困难问题,但是通过强大和强大的抽象能够显著的简化工作。为了简化问题,Gauva使用ListenableFuture扩展了JDK的Future接口,这篇文章主要介绍了Gauva使用ListenableFuture
    2023-01-01
  • SpringBoot2.0集成WebSocket实现后台向前端推送信息

    SpringBoot2.0集成WebSocket实现后台向前端推送信息

    这篇文章主要介绍了SpringBoot2.0集成WebSocket实现后台向前端推送信息,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java中的@PostConstruct注解用法详解

    Java中的@PostConstruct注解用法详解

    @PostConstruct注解是Java中一个强大的特性,它允许开发人员在Bean被构造并且依赖被注入后执行初始化逻辑,本文将从源码和用法的角度深入解析@PostConstruct注解,探讨其实现细节和实际应用
    2023-07-07
  • Spring注解之@Lazy注解使用解析

    Spring注解之@Lazy注解使用解析

    这篇文章主要介绍了Spring注解之@Lazy注解使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Unicode、UTF-8 和 ISO8859-1区别解析

    Unicode、UTF-8 和 ISO8859-1区别解析

    这篇文章主要介绍了Unicode、UTF-8 和 ISO8859-1到底有什么区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 如何基于SpringBoot实现人脸识别功能

    如何基于SpringBoot实现人脸识别功能

    人工智能时代的到来,相信大家已耳濡目染,虹软免费,离线开放的人脸识别SDK,正推动着全行业进入刷脸时代,下面这篇文章主要给大家介绍了关于如何基于SpringBoot实现人脸识别功能的相关资料,需要的朋友可以参考下
    2022-05-05
  • Java毕业设计实战之二手书商城系统的实现

    Java毕业设计实战之二手书商城系统的实现

    这是一个使用了java+JSP+Springboot+maven+mysql+ThymeLeaf+FTP开发的二手书商城系统,是一个毕业设计的实战练习,具有在线书城该有的所有功能,感兴趣的朋友快来看看吧
    2022-01-01

最新评论