0

我正在尝试使用 Symfony2 创建一个 REST 服务。我关注了几篇文章,并让 GET 函数正常工作;我能够获取我的对象列表或特定对象列表。但是使用 POST 将我的对象保存到数据库中是行不通的。我正在使用 FOSRestBundle。

我创建了我的实体 Coldlead、我的表单 ColdleadType,并在控制器中创建了我的 newAction。但是,当我在 bash 上使用 curl 测试 POST 操作时,FORM 似乎没有收到任何信息。

这是我执行的命令:

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"coldlead":{"registeredAt":"2013-04-12", "firstName": "John", "lastName": "Doe"}}' http://mvibesemail.roland.local/app_dev.php/coldleads | less

回应是:

{"form":{"children":{"firstName":[],"lastName":[],"email":[],"registeredAt":{"errors":["This value should not be blank."],"children":{"date":{"children":{"year":[],"month":[],"day":[]}},"time":{"children":{"hour":[],"minute":[]}}}},"ip":[],"fromSiteUrl":[],"isConfirmed":[],"isVerified":[],"isMember":[],"unsubscribeUrl":[]}}}

我想我错过了最后一个链接。也许与序列化程序有关。希望有人能给我一个提示。

我阅读(并尝试过)的文章是:

4

1 回答 1

1

我的问题是日期时间字段。我将 ColdLeadType 更改为:

$builder
  // ...
  ->add('registeredAt', 'date', array(
      'widget' => 'single_text',
      'format' => 'yyyy-MM-dd'
    )
  )

现在我可以让它与命令行 curl 一起工作。

于 2013-04-16T10:05:38.270 回答