Java前端如何发送date类型的参数给后端

本文介绍了Java前端如何将date类型参数传递给后端,包括GET和POST两种方式。GET传参时,前端传字符串,后端需转换;POST传参时,前端传对象,后端通过@RequestBody自动解析为Date类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先阐述一下常见的几种时间类型的区别。

java.util.Date日期格式为:年月日时分秒
java.sql.Date日期格式为:年月日
java.sql.Time日期格式为:时分秒
java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

前端传时间类型的参数给后端,一般有两种传参手段,GET传参和POST传参。

GET传参时,前段传过来的是一个string的字符串,后端用string类型接接收后需要做相关处理。处理代码如下:

        String str="2021-5-21";  //假设str为前段传过来的时间类型参数
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date parse = simpleDateFormat.parse(str);
        String format = simpleDateFormat.format(parse);
        System.out.println(parse);   
        System.out.println(format);

Post传参时,前端传过来的是一个对象,时间参数只是对象当中的一个属性,该对象案例如下。

public class Student {
    public String getName() {
        return name;
    }

    public Date getDate() {
        return date;
    }

    private String name;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //在时间属性上面加上该注解
    private Date date;
}

后端接收请求代码

@RestController
@RequestMapping("/test")
public class TestTime {

    @GetMapping("/time1")
    public void service1(String time){

        System.out.println(time);


    }
    @PostMapping("/time2")
    public void service2(@RequestBody Student student){
        System.out.println(student);



    }
}

模拟浏览器请求:

### GET 请求
GET {{baseUrl}}//test/time2?time=2021-5-8

### POST 请求
POST {{baseUrl}}//test/time2
Content-Type: application/json

{
  "name": "小顾",
  "date": "2020-05-08 17:08:10"
}

注:baseurl是我的ip地址,模拟请求的工具很多,上述只是一种工具而已,读者可用postman等工具模拟请求。

总结:get请求是字符串,需要做处理
post请求传的是对象,通过@requestbody,和在字段上添加jsonformat,会自动解析为date类型,不需要在做额外处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值