次のようなタイムスタンプ フィールドの Lightadmin:
@Temporal(TemporalType.TIMESTAMP)
@Column(name="started_at")
Date startedAt;
それらをフォーマットしませんが、エポックからのミリ秒数として表示します1398940456150
。
たとえば、Lightadmin 編集ページに入るhttp://localhost:8080/admin/domain/user/1/edit
と、フォームに実際に入力される値が別のリクエストで受信されます。これは、次のhttp://localhost:8080/admin/rest/user/1/unit/formView?_=1401699535260
JSON を返します。
...
"startedAt" : {
"name" : "startedAt",
"title" : "started at timestamp",
"value" : 1398940456150,
"type" : "DATE",
"persistable" : true,
"primaryKey" : false
}
...
1398940456150
タスクは、たとえばに変更すること01.05.2014 10:34:16
です。
私の調査によると、org.lightadmin.core.rest.DynamicRepositoryRestController.entity()
はそのようなリクエストのエントリ ポイントであり、JSON の生成を担当するコードは内部にあります: org.springframework.data.rest.webmvc.RepositoryAwareMappingHttpMessageConverter.writeInternal()
:
try {
mapper.writeValue(jsonGenerator, object);
} catch(IOException ex) {
throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex);
}
mapper
org.codehaus.jackson.map.ObjectMapper.ObjectMapper
デフォルトで初期化された のインスタンスです。次の 2 行を追加できた場合:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
mapper.getSerializationConfig().setDateFormat(df);
それは仕事をするでしょう、問題はこれがどのようにできるかということです?