SpringMVC-json&日期参数传递

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功能注解后,能根据类型匹配对应的类型转换器

上一篇
下一篇