Cambio en application.yaml Springboot para regresar fechas tan largos en lugar de marcas de tiempo

nazar:

Tenemos un proyecto Springboot, nuestra clase de aplicaciones de producción contiene la siguiente anotación: @EnableWebMvc (), por lo que una llamada a un punto final devuelve la siguiente. Tenga en cuenta que las fechas se devuelven como largas valores.

{
 "expirationDate": 1597291200000,
 "dateOfBirth": 271828800000 
}

Sin embargo, en nuestra rama de desarrollo de la clase de aplicación nos retiramos esa anotación y se obtiene la respuesta abajo después de llamar al mismo punto final. Tenga en cuenta que ahora las fechas se devuelven como marcas de tiempo . ¿Cómo podríamos cambiar nuestra application.yaml el fin de recibir las fechas como tiempo sin tener la anotación @EnableWebMvc (). Para nosotros, la mejor solución sería en el application.yaml, pero cualquier otra sugerencia es bienvenida.

{
  "expirationDate": "2020-08-13T04:00:00.000+0000",
  "dateOfBirth": "1978-08-13T04:00:00.000+0000"
}
Jason:

Esto es posible utilizando la JsonFormatanotación proporcionada por Jackson. En su respectiva clase de entidad que se está volviendo como anotar la respuesta de los campos usando JsonFormat y proporcionar la forma Shape.NUMBER anotación.

        @JsonFormat(shape = JsonFormat.Shape.NUMBER)
        final ZonedDateTime expirationDate;

        @JsonFormat(shape = JsonFormat.Shape.NUMBER)
        final ZonedDateTime dateOfBirth;

Esto también es posible lograr a nivel mundial a través del archivo de propiedades.

propiedades

spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS = true

yamla

spring:
  jackson:
    serialization:
      WRITE_DATES_AS_TIMESTAMPS: true

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=393947&siteId=1
Recomendado
Clasificación