![](/img/trans.png)
[英]How to receive and parse a JSON object from a HTTP POST request from client using java on the server side
[英]How to parse Date object from JSON request with Form in Java Play
我在使用Java PLay 2.2.1中的Form解析java.util.Date類型時遇到錯誤。 我的示例類的模型是:
@Entity
public class SampleModel extends Model
{
@Id
Long id;
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
@Required(message="endHour must be specified.")
@Formats.DateTime(pattern="yyyyMMddhhmmss")
private Date date;
public setId(Long id){
this.id = id;
}
public Long getId(){
return this.id;
}
public setDate(Date date){
this.date = date;
}
public Date getDate(){
return this.date;
}
}
表單在控制器中的使用就像:
public class ControllerSample extends Controller{
public static Result create(){
JsonNode request = request().body().asJson();
Form<SampleModel> form = Form.form(SampleModel.class).bind(request);
if(form.hasErrors())
{
//It always get Errors with dates
}
....
return ok();
}
}
最后,我發布的JSON就是這樣的:
{"date":"20140318120000"}
我找不到Form正確解析Date對象的方式。 有人可以指導我嗎?
您可以注冊綁定表單和請求時將要使用的自定義數據綁定器 。 只要看一下官方文檔中的示例,您就可以安全地用Date
替換他們使用的LocalTime
。
編輯:哦,別忘了在form <-> request綁定之前注冊databinder ,以便它對綁定有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.