java - ejemplo - Formato de fecha en la salida json utilizando arranque de resorte
date java ejemplo (4)
Estoy trabajando en el arranque de primavera para crear una aplicación de descanso. Y tengo un DTO como se muestra a continuación:
public class Subject {
private String uid;
private String number;
private String initials;
private Date dateOfBirth;
Y uso Spring-Hateos y el tipo de respuesta de mi controlador es ResponseEntity >>. Necesito que la fecha se muestre en el formato "aaaa-mm-dd". Y estoy sorprendido en esto. Amablemente ayúdame a cómo lograr esto. Gracias por adelantado.
A partir de Spring Boot versión 1.2.0.RELEASE, hay una propiedad que puede agregar a su application.properties
para establecer un formato de fecha predeterminado para todas sus clases spring.jackson.date-format
.
Para su ejemplo de formato de fecha, debe agregar esta línea a su archivo de propiedades:
spring.jackson.date-format=yyyy-mm-dd
Lo más probable es que signifique "aaaa-MM-dd" pequeño último "m" implicaría minutos de sección.
Deberías hacer dos cosas
agregue
spring.jackson.serialization.write-dates-as-timestamps:false
en suapplication.properties
esto deshabilitará la conversión de fechas a timestamps y en su lugar usará un formato compatible con ISO-8601Puede personalizar el formato anotando el método getter de su propiedad
@JsonFormat(pattern="yyyy-MM-dd")
con@JsonFormat(pattern="yyyy-MM-dd")
Si desea cambiar el formato para todas las fechas, puede agregar un personalizador de compilador. Aquí hay un ejemplo de un bean que convierte las fechas a ISO 8601:
@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
return new Jackson2ObjectMapperBuilderCustomizer() {
@Override
public void customize(Jackson2ObjectMapperBuilder builder) {
builder.dateFormat(new ISO8601DateFormat());
}
};
}
Si tiene integración de Jackson con su aplicación para serializar su bean al formato JSON, puede usar la @JsonFormat Jackson @JsonFormat para formatear su fecha con el formato especificado.
En su caso, si necesita su fecha en formato yyyy-mm-dd
, debe especificar @jsonFormat
sobre su campo en el que desea aplicar este formato.
Por ejemplo :
public class Subject {
private String uid;
private String number;
private String initials;
@JsonFormat(pattern="yyyy-MM-dd")
private Date dateOfBirth;
//Other Code
}
De Docs:
anotación utilizada para configurar detalles de cómo se serializarán los valores de las propiedades.
Que esto te ayude