Forms Can';我无法使我的表格有效
我想用Symfony服务器(使用FOSRestBundle)创建一个ReST基础设施。 有Forms Can';我无法使我的表格有效,forms,rest,symfony,fosrestbundle,Forms,Rest,Symfony,Fosrestbundle,我想用Symfony服务器(使用FOSRestBundle)创建一个ReST基础设施。 有 联系人(id、姓名、电子邮件) a添加类型表单以添加新联系人 在客户端,我有一个表单,它发送一个POST请求,其主体是 {“我的联系人表格的姓名”:{“姓名”:“foo”,“电子邮件”:foo@example.org“}} 我的控制器(扩展了FOSRestController)可以看到请求中的数据 $request->request->get($form->getName())返回{“name”:“f
- 联系人(id、姓名、电子邮件)
- a添加类型表单以添加新联系人
我希望这足够清楚。。。有人能帮忙吗?这个问题与CRSF验证有关。您必须为请求服务的用户禁用它。您可以在config.yml中禁用它。您必须设置如下内容:
fos_rest:
disable_csrf_role: ROLE_API
只需确保请求您的服务的用户具有此角色。您可以阅读有关用户角色的更多信息。
此外,你必须提交表格,而不是处理它。以下是其中的一个片段:
$form = $this->createForm(ProjectType::class, $project);
$form->submit($request->request->all());
if ($form->isValid()) {
$form->getErrors()返回什么?可能缺少CSRF令牌?(以前从未使用过FOSRestBundle,但如果使用基本Symfony表单,这可能是它失败的原因之一)。