上一篇:SpringBoot - 获取Get请求参数详解(附样例:非空、默认值、数组、对象)
一、接收 Form 表单数据
1,基本的接收方法
(1)编写hello.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/hello" enctype="multipart/form-data" method="post">
name: <input type="text" name="name">
age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
(2)下面样例 Controller 接收 form-data 格式的 POST 数据:
package com.example.demo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@PostMapping("/hello")
public String hello(@RequestParam("name") String name,
@RequestParam("age") Integer age) {
return "name:" + name + "\nage:" + age;
}
}
(3)测试结果:
2,参数没有传递的情况
(1)如果没有传递参数 Controller 将会报错,这个同样有如下两种解决办法:
使用 required = false 标注参数是非必须的。
使用 defaultValue 给参数指定个默认值。
package com.example.demo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@PostMapping("/hello")
public String hello(@RequestParam(name = "name", defaultValue = "xxx") String name,
@RequestParam(name