Resuelva el error de análisis JSON de la excepción de conversión de fecha: no se puede deserializar el valor del tipo `java.util.Date` de StringSummary

Si no acumulas pasos, no llegarás a miles de kilómetros, si no acumulas riachuelos, no podrás formar ríos y mares ----- al yo luchador

Escenas:

El front-end transmite parámetros de fecha al back-end, y el back-end recibe problemas. Resumiré este problema de bajo nivel una vez que lo encuentre.

Referencia de la documentación:

​​​​​​​​Spring Framework Documentación en chino - Spring Framework 4.3.21.RELEASE Referencia | Docs4dev Spring es un marco de código abierto a nivel de diseño, que resuelve el problema del acoplamiento débil entre la capa de lógica empresarial y otras capas, por lo que Se ejecuta a través de toda la aplicación del sistema con ideas de programación orientadas a la interfaz. Spring es un marco de desarrollo ligero de Java que surgió en 2003 y fue creado por Rod Johnson. En pocas palabras, Spring es un marco ligero de código abierto JavaSE/EE de pila completa (de una sola parada) en capas. https://www.docs4dev.com/docs/zh/spring-framework/4.3.21.RELEASE/reference/

Spring Chinese Official Documentation - hviger - Blog Garden Spring Boot Chinese Documentation https://www.docs4dev.com/docs/zh/spring-boot/1.5.9.RELEASE/reference Spring Framewo https://www.cnblogs.com/ zhaojinhui/p/16963459.html

Formato de fecha de inicio: aaaa-MM-dd HH:mm:ss

 ​​​​​​

Forma correcta:

Método 1: el backend usa el tipo de fecha para recibir

 Método 2: el campo de tipo de fecha de backend solo usa @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") para recibir 

Camino equivocado:

Método 1: use solo @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") para recibir el campo de tipo de fecha de backend e informe un error directamente al realizar la solicitud.

Use la anotación @DateTimeFormat correctamente

Método 1: agregue @RequestBody al objeto receptor y utilícelo con @JsonFormat

 

Método 2: el objeto receptor no agrega @RequestBody y el campo de tipo de fecha solo usa @DateTimeFormate

 

 Nota: El cuerpo de la solicitud que se usa aquí es form-date . Si usa el json del cuerpo de la solicitud, no recibirá datos si usa el siguiente campo de tipo de fecha de backend de la solicitud

Resumir:

Cuando la cadena de fecha del front-end se pasa al back- end cuando el back-end la recibe con un campo de tipo de fecha

1. El objeto receptor usa @RequestBody con @DateTimeFormat y @JsonForma

2. El objeto receptor usa @RequestBody con @JsonForma para convertir la cadena de fecha en un formato de fecha

3. El objeto receptor no necesita estar decorado con @RequestBody, el tipo de datos de formulario del cuerpo de la solicitud (no se permite el tipo json) puede pasar @DateTimeFormat

Convertir cadena de fecha a formato de fecha

Supongo que te gusta

Origin blog.csdn.net/qq_38423256/article/details/128938440
Recomendado
Clasificación