Я использую FOSRestBundle, для newRessourceAction
, я хотел бы сгенерировать json-версию формы, которую я мог использовать, к POST новый.fosrestbundle, используя представление twig в json _format resultat в htmlentities закодированном ответе
С этой целью я тестировал несколько способов вернуть ответ json, но в каждом случае конец json-строки должен быть jsonencoded от FOSRestBundle. Вот пример:
#in the controller
/**
* @View()
*/
public function newFooAction(Request $request) {
$_format = $request->attributes->get('_format');
$foo = new Foo();
$form = $this->createForm(FooType::class, $foo, ['action' => $this->generateUrl('post_foo', ['_format' => $_format]),'method' => 'POST',]);
return ['form' => $form];
}
#in the foo.json.twig
{{ form | serialize('json') }}
выход стремится быть похожим, что (обратите внимание "
):
{"foo":"bar"}
Чтобы сериализовать мои сущности в надлежащий json, я использую [JMSSerialiserBundle] (http://jmsyst.com/bundles/JMSSerializerBundle), которые приводят к '| сериализации ('') JSON '. если я использую '| json_encode()', у меня та же проблема htmlentities. – Bruno