6

私は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エンティティにバインドする方法はありますか?

4

1 に答える 1

3

あなたが探しているものはと呼ばれていSerializationます。

Symfony 2が提供するデフォルトのSerializerコンポーネントを使用できますが、より便利なアプローチは、JMSSerializerBundleを使用することです。

于 2013-01-10T12:35:00.750 に答える