アプリの DateTime フィールドに JSON を投稿できるようにする魔法の言葉がわかりません。照会するとDateTime
、エポックからのマイクロ秒として s が返されます。その形式で投稿しようとすると ( {"started":"1341006642000","task":{"id":1}}
)、「無効な値: 開始されました」と表示されます。
私もフィールドに追加@play.data.format.Formats.DateTime(pattern="yyyy-MM-dd HH:mm:ss")
してstarted
投稿しようとしまし{"started":"2012-07-02 09:24:45","task":{"id":1}}
たが、同じ結果になりました。
コントローラーのメソッドは次のとおりです。
@BodyParser.Of(play.mvc.BodyParser.Json.class)
public static Result create(Long task_id) {
Form<Run> runForm = form(Run.class).bindFromRequest();
for (String key : runForm.data().keySet()) {
System.err.println(key + " => " + runForm.apply(key).value() + "\n");
}
if (runForm.hasErrors())
return badRequest(runForm.errorsAsJson());
Run run = runForm.get();
run.task = Task.find.byId(task_id);
run.save();
ObjectNode result = Json.newObject();
result.put("id", run.id);
return ok(result);
}
出力から、値が正しく受信されていることもわかります。これを機能させる方法を知っている人はいますか?