删除 Symfony2 表单中的表单命名空间(用于 REST API) [英] Remove form namespace in Symfony2 form (for REST API)

查看:28
本文介绍了删除 Symfony2 表单中的表单命名空间(用于 REST API)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Symfony2 设计 REST API.

I'm designing REST API with Symfony2.

对于 POST 和 PUT 请求,我使用的是 FormType.类似的东西:

For POST and PUT request i'm using a FormType. Something like :

class EmailType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('subject', 'textarea')
        [...]
        ;
    }

    public function getName()
    {
        return 'email';
    }
}

但是当我 POST 时,我必须传递具有以下名称空间的字段:

But when I POST, i'm must pass fields with a namespace like :

{
    "email": {
        "subject": "subject"
    }
}

但我不想要这个顶级命名空间!

But I don't want this top-level namespace !

有什么想法吗?

推荐答案

我已经将 Symfony 表单用于基于 JSON 的 API.你只需要改变你的 getName() 方法来返回 '':

I've used Symfony forms for JSON based APIs. You just need to change your getName() method to return '':

public function getName()
{
    return '';
}

这与 FOSRestBundle 相结合,使处理 POSTed 数据变得非常容易.

This, cobined with the FOSRestBundle, made working with POSTed data very easy.

这篇关于删除 Symfony2 表单中的表单命名空间(用于 REST API)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆