Spring Boot请求参数映射:@RequestBody、@RequestParam和@RequestPart的应用
import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class MyController {
// 使用@RequestBody处理POST请求中的JSON内容
@PostMapping("/submit1")
public String handleSubmit1(@RequestBody MyForm formData) {
// 处理formData
return "success";
}
// 使用@RequestParam处理GET或POST请求中的查询参数
@GetMapping("/submit2")
public String handleSubmit2(@RequestParam("name") String name, @RequestParam("age") int age) {
// 处理name和age
return "success";
}
// 使用@RequestPart处理文件上传
@PostMapping("/upload")
public String handleFileUpload(@RequestPart("file") MultipartFile file) {
// 处理上传的文件
return "success";
}
// 内部类用于表单数据的封装
public static class MyForm {
private String name;
private int age;
// getters and setters
}
}
这个代码示例展示了如何在Spring Boot中使用@RequestBody
, @RequestParam
, 和 @RequestPart
注解来处理不同类型的请求参数。@RequestBody
用于处理请求体中的JSON数据映射到Java对象。@RequestParam
用于获取查询参数或表单数据。@RequestPart
用于处理文件上传的部分。
评论已关闭