我在Symfony4项目中使用JMSSerializerBundle和FOSRestBundle,我不使用yml元数据但注释。这是我的实体之一:
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\SoftDeleteable\Traits\SoftDeleteableEntity;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use JMS\Serializer\Annotation as Serializer;
/**
* @ORM\Entity(repositoryClass="App\Repository\PageRepository")
* @ORM\Table(name="page")
* @Serializer\AccessType("public_method")
*/
class Page
我的FOSRest配置:
fos_rest:
body_listener: true
body_converter:
enabled: true
service:
view_handler: tigris_base.view_handler
view:
default_engine: twig
view_response_listener: force
formats:
json: true
pdf: true
xls: true
html: false
xml: true
templating_formats:
pdf: false
xls: false
json: false
html: true
xml: false
serializer:
serialize_null: true
routing_loader:
default_format: html
prefix_methods: false
param_fetcher_listener: true
allowed_methods_listener: true
我的数据库中有一个实体,但json响应为空。 JMS是否有可能无法序列化我的实体?
答案 0 :(得分:0)
好的我发现了问题:我的实体是Doctrine \ ORM \ Tools \ Pagination \ Paginator对象的迭代器,我必须调用“getArrayCopy”方法来序列化。