由于Json数据传递与接收在以后的开发中是主流,所以把它拿出来独立记一篇笔记,其他的笔记太庞杂了。
1. json数据参数传递实现步骤
1.1 添加json数据转换相关坐标
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency>
1.2 postman发送json数据,请求body中添加json数据)
1.3 开启自动转换json数据的支持
packagecom.zhang.config;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration@ComponentScan("com.zhang.controller")//开启json数据类型自动转换@EnableWebMvcpublicclassSpringMvcConfig{}
1.4 在Controller中编写方法接收json参数
//集合参数:json格式//1.开启json数据格式的自动转换,在配置类中开启@EnableWebMvc//2.使用@RequestBody注解将外部传递的json数组数据映射到形参的集合对象中作为数据@ResponseBody@RequestMapping("/acceptListParammetersForJson")publicStringacceptListParammetersForJson(@RequestBodyList<String> hobbies){System.out.println("接收到的Json数据是:"+(hobbies));return"Hello SpringMvc";}
1.5 postman发送请求,控制台打印结果
2. @EnableWebMvc注解介绍
- 名称:@EnableWebMvc
- 类型:配置类注解
- 位置:SpringMVC配置类定义上方
- 作用:开启SpringMVC多项辅助功能
- 范例:
@Configuration@ComponentScan("com.zhang.controller")@EnableWebMvcpublicclassSpringMvcConfig{}
3. @RequestBody注解介绍
@RequestBody注解将外部传递的json数组数据映射到形参的对象中作为数据
- 名称:@RequestBody
- 类型:形参注解
- 位置:SpringMVC控制器方法形参定义前面
- 作用:将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次
- 范例:
@ResponseBody@RequestMapping("/acceptListParammetersForJson")publicStringacceptListParammetersForJson(@RequestBodyList<String> hobbies){System.out.println("接收到的Json数据是:"+(hobbies));return"Hello SpringMvc";}4. 传递json对象
POJO参数:json数据与形参对象属性名相同,定义POJO类型形参即可接收参数
4. 传递json对象
4.1 postman
4.2 Controller
@ResponseBody@RequestMapping("/acceptPojoParammetersForJson")publicStringacceptPojoParammetersForJson(@RequestBodyStudent student){System.out.println("接收到的Json数据是:"+(student));return"Hello SpringMvc";}
4.3 postman发送请求,后台打印结果
5. 传递json对象数组
POJO集合参数:json数组数据与集合泛型属性名相同,定义List类型形参即可接收参数
5.1 postman
5.2 controller
@ResponseBody@RequestMapping("/acceptPojoListParammetersForJson")publicStringacceptPojoListParammetersForJson(@RequestBodyList<Student> students){System.out.println("接收到的Json数据是:"+(students));return"Hello SpringMvc";}
5.3 postman发送请求,后台打印结果
6. @RequestBody与@RequestParam区别
- 区别 @RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】 @RequestBody用于接收json数据【application/json】
- 应用 后期开发中,发送json格式数据为主,@RequestBody应用较广 RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】 @RequestBody用于接收json数据【application/json】
- 应用 后期开发中,发送json格式数据为主,@RequestBody应用较广 如果发送非json格式数据,选用@RequestParam接收请求参数
本文转载自: https://blog.csdn.net/m0_69954721/article/details/128421456
版权归原作者 糖分你俩颗~~~ 所有, 如有侵权,请联系我们删除。
版权归原作者 糖分你俩颗~~~ 所有, 如有侵权,请联系我们删除。