I am using annotated Spring 3.1 MVC code (spring-mvc) and when i send date object through the @RequestBody the date is showing up as numeric. This is my controller
In order to override the default date formatting strategy of Jakson following are the step to follow:
JsonSerializer
to create a new class for handling date formattingserialize(Date date, JsonGenerator gen, SerializerProvider provider)
function to format date in your desired format and write it back to generator instance (gen)@JsonSerialize(using = CustomDateSerializer.class)
Code:
//CustomDateSerializer class
public class CustomDateSerializer extends JsonSerializer {
@Override
public void serialize(Date value, JsonGenerator gen, SerializerProvider arg2) throws
IOException, JsonProcessingException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(value);
gen.writeString(formattedDate);
}
}
//date getter method
@JsonSerialize(using = CustomDateSerializer.class)
public Date getDate() {
return date;
}
Source: http://blog.seyfi.net/2010/03/how-to-control-date-formatting-when.html