欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot前端傳參date類型后臺處理的方式

 更新時(shí)間:2022年07月05日 09:02:25   作者:香草天空Sky  
這篇文章主要介紹了springboot前端傳參date類型后臺處理的方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot前端傳參date類型后臺處理

先說結(jié)論

建議大家直接使用@JsonFormat,原因如下:  

1、針對json格式:在配置文件中加以下配置

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

2、針對form表單格式,加下面這句配置就可以

spring.mvc.dateFormat = yyyy-MM-dd HH:mm:ss

3、也可以在pojo中對特定的date類型屬性加了以下配置

@DateTimeFormat來控制入?yún)?,@JsonFormat來控制出參

?@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
?@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") ? ?

4、前端以字符串的形式給后臺傳遞 帶有格式的 日期 和 數(shù)字 數(shù)據(jù),導(dǎo)致后臺無法解析數(shù)據(jù):

解決方法

總結(jié):

1.如果前后端傳的數(shù)據(jù)都是json格式,那么后臺接數(shù)據(jù),傳數(shù)據(jù)都可以用@JsonFormat ;

2.@DateTimeFormat適合后端接收前端傳來的數(shù)據(jù),不管是不是json格式都可以正確轉(zhuǎn)換成Date型數(shù)據(jù),只要前端傳來的格式正確且后端@DateTimeFormat的pattern寫正確。但是,這個(gè)注解無法將Date型數(shù)據(jù)用json傳到前端去

綜上所述,建議大家直接使用@JsonFormat

前端如何發(fā)送date類型的參數(shù)給后端

首先闡述一下常見的幾種時(shí)間類型的區(qū)別

  • java.util.Date日期格式為:年月日時(shí)分秒
  • java.sql.Date日期格式為:年月日
  • java.sql.Time日期格式為:時(shí)分秒
  • java.sql.Timestamp日期格式為:年月日時(shí)分秒納秒(毫微秒)

前端傳時(shí)間類型的參數(shù)給后端,一般有兩種傳參手段,GET傳參和POST傳參。

GET傳參時(shí)

前段傳過來的是一個(gè)string的字符串,后端用string類型接接收后需要做相關(guān)處理。處理代碼如下:

? ? ? ? String str="2021-5-21"; ?//假設(shè)str為前段傳過來的時(shí)間類型參數(shù)
? ? ? ? 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傳參時(shí)

前端傳過來的是一個(gè)對象,時(shí)間參數(shù)只是對象當(dāng)中的一個(gè)屬性,該對象案例如下。

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") //在時(shí)間屬性上面加上該注解
? ? 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等工具模擬請求。

總結(jié):get請求是字符串,需要做處理

post請求傳的是對象,通過@requestbody,和在字段上添加jsonformat,會(huì)自動(dòng)解析為date類型,不需要在做額外處理。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA反射機(jī)制實(shí)例教程

    JAVA反射機(jī)制實(shí)例教程

    這篇文章主要介紹了JAVA反射機(jī)制,包括了Java反射機(jī)制的各種應(yīng)用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-09-09
  • 一文帶你徹底理解Java序列化和反序列化

    一文帶你徹底理解Java序列化和反序列化

    這篇文章主要介紹了Java序列化和反序列化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • Java算法實(shí)現(xiàn)楊輝三角的講解

    Java算法實(shí)現(xiàn)楊輝三角的講解

    今天小編就為大家分享一篇關(guān)于Java算法實(shí)現(xiàn)楊輝三角的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java之Pattern.compile函數(shù)用法詳解

    Java之Pattern.compile函數(shù)用法詳解

    這篇文章主要介紹了Java之Pattern.compile函數(shù)用法詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java類加載異常:java.lang.ClassNotFoundException解決方法

    Java類加載異常:java.lang.ClassNotFoundException解決方法

    這篇文章主要給大家介紹了關(guān)于Java類加載異常:java.lang.ClassNotFoundException的解決方法,異常是Java編程語言中的一個(gè)標(biāo)準(zhǔn)異常類,它繼承自類,當(dāng)在運(yùn)行時(shí)嘗試加載類時(shí),如果系統(tǒng)找不到指定的類文件就會(huì)拋出該異常,需要的朋友可以參考下
    2023-11-11
  • springboot返回值轉(zhuǎn)成JSONString的處理方式

    springboot返回值轉(zhuǎn)成JSONString的處理方式

    這篇文章主要介紹了springboot返回值轉(zhuǎn)成JSONString的處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MyBatis 配置之集合的嵌套方式

    MyBatis 配置之集合的嵌套方式

    這篇文章主要介紹了MyBatis 配置之集合的嵌套方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解析Arthas協(xié)助排查線上skywalking不可用問題

    解析Arthas協(xié)助排查線上skywalking不可用問題

    這篇文章主要為大家介紹了解析Arthas協(xié)助排查線上skywalking不可用的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • SpringBoot讀寫操作yml配置文件方法

    SpringBoot讀寫操作yml配置文件方法

    之前一直用的application.properties配置文件,只能是KV結(jié)構(gòu),后來的yml配置文件更像是樹狀結(jié)構(gòu),支持層級,比properties更靈活
    2023-01-01
  • Spring詳細(xì)解讀事務(wù)管理

    Spring詳細(xì)解讀事務(wù)管理

    Spring事務(wù)的本質(zhì)就是對數(shù)據(jù)庫事務(wù)的支持,沒有數(shù)據(jù)庫事務(wù),Spring是無法提供事務(wù)功能的。Spring只提供統(tǒng)一的事務(wù)管理接口,具體實(shí)現(xiàn)都是由數(shù)據(jù)庫自己實(shí)現(xiàn)的,Spring會(huì)在事務(wù)開始時(shí),根據(jù)當(dāng)前設(shè)置的隔離級別,調(diào)整數(shù)據(jù)庫的隔離級別,由此保持一致
    2022-04-04

最新評論