ДАТА ВРЕМЯ с API формата json

извините за мой плохой английский кстати, это не язык моей матери.

Итак, я создал API, используя FOSRestBundle на syfmony 3: этот:

public function getHoraireAction(){
$Horaire = $this->getDoctrine()->getRepository('CBMedBundle:Horaire')-    >findAll();
if(!$Horaire){
  throw $this->createNotFoundException();
}
return $Horaire;
}

Entity Horaire.php с JMSSerializer

<?php

namespace CBMedBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\VirtualProperty;

/**
* Horaire
*
* @ORM\Table(name="horaire")
* @ORM\Entity(repositoryClass="CBMedBundle\Repository\HoraireRepository")
* 
* @ExclusionPolicy("all")
*/
class Horaire
{
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var time
 *
 * @ORM\Column(name="Debut", type="time", length=10)
  * @Expose
 */
private $debut;

/**
 * @var time
 *
 * @ORM\Column(name="EntreeSalle", type="time", length=10)
  * @Expose
 */
private $entreeSalle;

/**
 * @var time
 *
 * @ORM\Column(name="HeureAnesthesie", type="time", length=10)
  * @Expose
 */
private $heureAnesthesie;

/**
 * @var time
 *
 * @ORM\Column(name="Operation", type="time", length=10)
  * @Expose
 */
private $operation;

/**
 * @var time
 *
 * @ORM\Column(name="incision", type="time", length=10)
  * @Expose
 */
private $incision;

/**
 * @var time
 *
 * @ORM\Column(name="finOpe", type="time", length=10)
  * @Expose
 */
private $finOpe;

/**
 * @var time
 *
 * @ORM\Column(name="Reveil", type="time", length=10)
  * @Expose
 */
private $reveil;

/**
 * @var time
 *
 * @ORM\Column(name="Sortie", type="time", length=10)
  * @Expose
 */
 private $sortie;

 /**
 * @ORM\OneToOne(targetEntity="CBMedBundle\Entity\Interventions", cascade=  {"persist"})
* @Expose
 */
 private $Interventions;
 etc..

Все работает, но кажется, что API не возвращает истинное значение полей, которые имеют тип "время".

дата времени Horaire.php на mysql

И это то, что я получаю, когда тестирую API (используя почтовый человек)

Ошибка с датой и временем

Как это исправить пожалуйста.

Спасибо


person Kane Samba    schedule 18.05.2016    source источник


Ответы (1)


Хорошо, я нашел решение.

мне пришлось добавить эти строки:

use JMS\Serializer\Annotation\Type;

//.....
/**
 * @var time
 *
 * @ORM\Column(name="Debut", type="time", length=10)
 * @Type("DateTime<'h-m-s'>")
  * @Expose
 */
private $debut;
etc..
person Kane Samba    schedule 18.05.2016