很抱歉我英语不好,顺便说一句,这不是我妈妈的母语。
因此,我在syfmony 3上使用FOSRestBundle创建了一个API:这个:
public function getHoraireAction(){
$Horaire = $this->getDoctrine()->getRepository('CBMedBundle:Horaire')- >findAll();
if(!$Horaire){
throw $this->createNotFoundException();
}
return $Horaire;
}
Entity Horaire.php与JMSSerializer
<?php
namespace CBMedBundleEntity;
use DoctrineORMMapping as ORM;
use JMSSerializerAnnotationExclusionPolicy;
use JMSSerializerAnnotationExpose;
use JMSSerializerAnnotationGroups;
use JMSSerializerAnnotationVirtualProperty;
/**
* Horaire
*
* @ORMTable(name="horaire")
* @ORMEntity(repositoryClass="CBMedBundleRepositoryHoraireRepository")
*
* @ExclusionPolicy("all")
*/
class Horaire
{
/**
* @var int
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var time
*
* @ORMColumn(name="Debut", type="time", length=10)
* @Expose
*/
private $debut;
/**
* @var time
*
* @ORMColumn(name="EntreeSalle", type="time", length=10)
* @Expose
*/
private $entreeSalle;
/**
* @var time
*
* @ORMColumn(name="HeureAnesthesie", type="time", length=10)
* @Expose
*/
private $heureAnesthesie;
/**
* @var time
*
* @ORMColumn(name="Operation", type="time", length=10)
* @Expose
*/
private $operation;
/**
* @var time
*
* @ORMColumn(name="incision", type="time", length=10)
* @Expose
*/
private $incision;
/**
* @var time
*
* @ORMColumn(name="finOpe", type="time", length=10)
* @Expose
*/
private $finOpe;
/**
* @var time
*
* @ORMColumn(name="Reveil", type="time", length=10)
* @Expose
*/
private $reveil;
/**
* @var time
*
* @ORMColumn(name="Sortie", type="time", length=10)
* @Expose
*/
private $sortie;
/**
* @ORMOneToOne(targetEntity="CBMedBundleEntityInterventions", cascade= {"persist"})
* @Expose
*/
private $Interventions;
etc..
一切正常,但API似乎没有返回具有"时间"类型的字段的真实值。
在mysql 上的Horaire.php日期时间数据
这就是当我测试API(使用post-man)时得到的
日期时间错误
请告诉我该怎么修。
感谢
好的,我找到了解决方案。
我不得不加上这些行:
use JMSSerializerAnnotationType;
//.....
/**
* @var time
*
* @ORMColumn(name="Debut", type="time", length=10)
* @Type("DateTime<'h-m-s'>")
* @Expose
*/
private $debut;
etc..