我正在开发一个带有 iPad 前端和基于 Symfony2 的服务器的销售系统。它们之间的通信是通过json格式的POST方法进行的。
我已经看到可以将表单绑定到实体中,但我不知道如果我收到一个 jSon 对象是否有可能做到这一点。
例如,这是我在前端所拥有的(为简单起见,在 Javascript 中):
var sale=new Sale();
sale.client=10;
sale.user=1;
sale.product=11;
sale.quantity=100;
var jSon={"client": sale.client,
"user":sale.user,
"product":sale.product,
"quantity":sale.quantity}
$.post("http://examplepath.com/new_sale", jSon,
function (data) {
if (data) {
alert(data);
}
else {
alert("Not working :-(");
}
}
);
现在,当我在中接收 json 时,我会执行以下操作:
$sale=new Sale(); //This is my entity :)
$sale->setUser($request->request->get("user"));
$sale->setClient($request->request->get("client"));
$sale->setProduct($request->request->get("product"));
$sale->setDate($date);
$em = $this->getDoctrine()->getEntityManager();
$em->persist($sale);
$em->flush();
有没有办法将 POST 收到的 json 与我的 Sale 实体绑定,而无需执行所有那些讨厌的设置器?