[英]API REST php7 symfony 3.4 - Databind json to forms
我發現了這一點: “如何使用FOSRestBundle和Symfony表單處理嵌套的json”,但是人們接受的答復是: “制作未映射的表單並使用表單事件手動綁定數據”
在播放中 ,您可以編寫自己的數據綁定程序,但是對於大多數格式( xml
, json
,...),您可以根據Content-Type
http標頭( @BodyParser.Of(BodyParser.Json.class)
在這里不是強制性的才能使其正常運行),有一些眾所周知的數據綁定器可用(來自Spring或任何地方)。 產品可以具有項目列表 ,即使如此, 您也可以將請求正文自動綁定到表單 。
PHP / Symfony尚未學習如何解決此問題? 如果我在PHP中創建一個REST API + symfonmy我需要寫一些“分析器”像這樣 ? 有人可以共享指向帖子或示例的鏈接嗎?
PD:我使用play例子是因為我不是一個經驗豐富的Web開發人員(PHP較少),所以像我的mcve一樣。
提前致謝。
要解決此問題,請確保顯式定義表單上所有具有關系的字段:
$builder->add('field_simple')
->add('field_entity')
...
上面的代碼將不起作用,因為字段“ field_entity”將像另一個簡單字段一樣使用,您將必須定義實體的所有字段,或者至少要關注感興趣的字段,例如:
$builder->add('field_simple')
->add('field_entity', EntityType::class, array(
'class' => CustomEntity::class,
...
))
...
最好的祝福...
根據我的經驗,您可以通過兩種方式實現這一目標:
在我的項目中,我總是使用第二種方法,因為從數據庫加載的實體更新實體並處理數據驗證非常容易。
我讓您使用的鏈接是舊版本,但或多或少仍是同一knp大學
希望對您有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.