JSON Serialisierungsdatum in einem benutzerdefinierten Format (Konnte Instanz von java.util.Date nicht aus String-Wert erstellen)

could not read JSON: Can not construct instance of java.util.Date from String 
value '2012-07-21 12:11:12': not a valid representation("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))

vorbei json-Anforderung an REST-controller-Methode in eine POJO-Klasse.der Benutzer soll eingeben, nur unten ein datetime-format andere Weise werfen sollte Nachricht.warum DateSerializer nicht aufrufen?

add(@Valid @RequestBody User user)
{
}

json:

{
   "name":"ssss",
   "created_date": "2012-07-21 12:11:12"
}

pojo-Klasse variable

@JsonSerialize(using=DateSerializer.class)
@Column
@NotNull(message="Please enter a date")      
@Temporal(value=TemporalType.TIMESTAMP)
private Date created_date;

public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
    logger.info("serialize:"+value);
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    logger.info("DateSerializer formatter:"+formatter.format(value));
    jgen.writeString(formatter.format(value));
}

InformationsquelleAutor der Frage user739115 | 2013-07-15

Schreibe einen Kommentar