REST POST нет данных?

Я пытаюсь создать службу REST с Symfony2. Я просмотрел несколько статей и заработал функции GET; Я могу получить список своих объектов или конкретный. Но сохранение моего объекта в базе данных с помощью POST не работает. Я использую FOSRestBundle.

Я создал свою сущность Coldlead, свою форму ColdleadType и создал свое новое действие в контроллере. Но когда я тестирую действие POST с помощью curl на bash, кажется, что 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":[]}}}

Я думаю, что мне не хватает одной последней ссылки. Может что-то с сериализатором. Надеюсь, кто-нибудь может дать мне подсказку.

Статьи, которые я читал (и пробовал):


person rolandow    schedule 16.04.2013    source источник


Ответы (1)


Моя проблема была с полем даты и времени. Я изменил свой ColdLeadType на:

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

Теперь я мог заставить его работать с командной строкой curl.

person rolandow    schedule 16.04.2013