0


4. Json数据传递与接收

由于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数据)

image-20221223160033909

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发送请求,控制台打印结果

image-20221223161201365

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

image-20221223162202574

4.2 Controller

@ResponseBody@RequestMapping("/acceptPojoParammetersForJson")publicStringacceptPojoParammetersForJson(@RequestBodyStudent student){System.out.println("接收到的Json数据是:"+(student));return"Hello SpringMvc";}

4.3 postman发送请求,后台打印结果

image-20221223162457911

5. 传递json对象数组

POJO集合参数:json数组数据与集合泛型属性名相同,定义List类型形参即可接收参数

5.1 postman

image-20221223163415375

5.2 controller

@ResponseBody@RequestMapping("/acceptPojoListParammetersForJson")publicStringacceptPojoListParammetersForJson(@RequestBodyList<Student> students){System.out.println("接收到的Json数据是:"+(students));return"Hello SpringMvc";}

5.3 postman发送请求,后台打印结果

image-20221223163533206

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接收请求参数
标签: json java postman

本文转载自: https://blog.csdn.net/m0_69954721/article/details/128421456
版权归原作者 糖分你俩颗~~~ 所有, 如有侵权,请联系我们删除。

“4. Json数据传递与接收”的评论:

还没有评论