Java前端如何发送date类型的参数给后端
首先阐述一下常见的几种时间类型的区别。
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类型,不需要在做额外处理。
以上便是我个人对于Java前端如何发送date类型的参数给后端的一些理解, 如有误,请指出楠
作者:用户517900537676
链接:https://juejin.cn/post/7029218702784462884