json参数传递
SpringMVC不能转化json
导入依赖:
//pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
开启功能:
在SpringMVC配置类定义上方加入 @EnableWebMvc 注解
@EnableWebMvc 是配置类注解,能开启SpringMVC的多项辅助功能
//SpringMvcConfig.java
@Configuration
@ComponentScan("com.forelink.controller")
//开启SpringMVC的多项辅助功能
@EnableWebMvc
public class SpringMvcConfig {
}
json 转 List:
在方法形参名加@RequestBody,就可以读取请求体中的json数据,并转换为List格式的数据。
@RequestBody 是形参注解,加载SpringMVC控制器方法形参定义的前面
//接受请求体中的json数据
@RequestMapping("/cp5")
@ResponseBody
public String cp5(@RequestBody List<String> name){
System.out.println(name);
return "{'module':'user cp5'}";
}
此注解一个处理器方法只能使用一次。
json转实体类:
和list同理,json中的变量名匹配到类中的成员变量时会为类成员变量赋值。
RequestBody和RequestParam:
@RequestParam 用于接收url地址传参,表单传参 @RequestBody用于接受json数据
后期开发中,发送json格式数据为主,@RequestBody应用较广 如果发送非json格式数据,选用@RequestParam接受请求参数
日期类型数据:
概述:
日期类型数据基于系统不同格式而存在差异,如:
YYYY/MM/DD YYYY-MM-DD MM/DD/YYYY
DateTimeFormat注解:
@DateTimeFormat 形参注解,加在SpringMVC控制器方法形参前面 能设定日期时间型数据格式
//接受url地址中的时间数据
//用DateTimeFormat注解指定接受的日期格式
@RequestMapping("/cp6")
@ResponseBody
public String cp6(Date date,
@DateTimeFormat(pattern="yyyy-MM-dd") Date date1,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")Date date2){
System.out.println("date: " + date);
System.out.println("date1: " + date1);
System.out.println("date2: " + date2);
return "{'module':'user cp6'}";
}
测试url:
http://localhost:8080/user/cp6?date=2024/07/05&date1=2025-07-05&date2=2024/05/07%203:45:32
原理:
用到了 类型转换器 ==> Convert接口 其中包含日期时间的转换。
包含
请求参数年龄 日期格式转换
@EnableWebMvc注解和类型转换器:
开启@EnableWebMvc功能注解后,能根据类型匹配对应的类型转换器