SpringBoot接收form-data和x-www-form-urlencoded数据的方法
作者:程序员橙子
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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!