返回
轻轻松松学会SpringMVC参数获取的三种方式,新手也能一看就懂!
后端
2024-01-05 12:14:01
1. 获取基本类型参数
基本类型参数是指那些Java语言中的基本类型,如int、float、double等。SpringMVC可以通过以下方式获取基本类型参数:
- 通过@RequestParam注解
@RequestMapping("/hello")
public String hello(@RequestParam("name") String name) {
return "hello " + name;
}
在上面的代码中,@RequestParam
注解用于将请求参数"name"映射到hello()
方法的name
参数。
- 通过HttpServletRequest
@RequestMapping("/hello")
public String hello(HttpServletRequest request) {
String name = request.getParameter("name");
return "hello " + name;
}
在上面的代码中,我们可以通过HttpServletRequest
对象来获取请求参数。
2. 获取POJO类型参数
POJO类型参数是指那些Java语言中的普通Java对象(POJO)。SpringMVC可以通过以下方式获取POJO类型参数:
- 通过@RequestBody注解
@RequestMapping("/hello")
public String hello(@RequestBody User user) {
return "hello " + user.getName();
}
在上面的代码中,@RequestBody
注解用于将请求体中的JSON数据映射到hello()
方法的user
参数。
- 通过HttpEntity
@RequestMapping("/hello")
public String hello(HttpEntity<User> httpEntity) {
User user = httpEntity.getBody();
return "hello " + user.getName();
}
在上面的代码中,我们可以通过HttpEntity
对象来获取请求体中的JSON数据。
3. 获取流参数
流参数是指那些可以通过流来获取的数据,如文件上传、视频流等。SpringMVC可以通过以下方式获取流参数:
- 通过MultipartFile
@RequestMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
// 保存文件
file.transferTo(new File("/tmp/" + file.getOriginalFilename()));
return "文件上传成功";
}
在上面的代码中,MultipartFile
对象用于获取文件上传的数据。
- 通过InputStream
@RequestMapping("/video")
public String video(@RequestParam("video") InputStream video) {
// 保存视频
FileUtils.copyInputStreamToFile(video, new File("/tmp/video.mp4"));
return "视频上传成功";
}
在上面的代码中,我们可以通过InputStream
对象来获取视频流数据。
总结
SpringMVC提供了多种方式来获取请求数据,包括基本类型参数、POJO类型参数和流参数。这些方式可以满足不同的应用场景,我们可以根据自己的需要来选择合适的方式。