我正在使用Symfony 2.3&amp ;;构建REST API。 FOSRestBundle。
有人知道如何自定义POST参数键,例如: " company_mybundle_user [firstName] = {value}" 成为
"的firstName = {}值"
后者不会起作用,因为内部的表单验证" postUsersAction(Request $ request)":
// src/Company/MyBundle/Controller/UserController.php
// ...
public function postUsersAction(Request $request)
{
$entity = new User();
$form = $this->createCreateForm($entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
$view = new View($entity);
} else {
$view = View::create($form);
}
return $this->get('fos_rest.view_handler')->handle($view);
}
感谢您的帮助!!
答案 0 :(得分:0)
找到解决方案:
清空“UserType :: getName()”返回的值将删除参数的前缀。 因此“ company_mybundle_user [lastName] ”变为 lastName
在:
// src/Company/MyBundle/Form/UserType.php
// ...
public function getName()
{
return 'company_mybundle_user';
}
后:
// src/Company/MyBundle/Form/UserType.php
// ...
public function getName()
{
return '';
}
PS:确保在测试前清除缓存:
php app/console cache:clear