【发布时间】:2018-12-04 09:04:28
【问题描述】:
序列化数据有问题。
我有两个实体,它们是连接关系。
这些是我的实体:
任务.php
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
/**
* @ORM\Entity
*/
class Task
{
/**
*
* @var integer
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="IDENTITY")
*
*/
private $id;
/**
* @JMS\MaxDepth(1)
* @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="task")
*
*/
private $user;
用户.php
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="app_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Task", mappedBy="user")
*/
private $task;
public function __construct()
{
我想创建 API,并使用 JMS 序列化我的数据。我收到此错误:
内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。
这是我的控制器:
public function getAllAction(): JsonResponse
{
$tasks = $this->taskService->getAll();
$serializer = SerializerBuilder::create()->build();
$data = $serializer->serialize($tasks, 'json',
SerializationContext::create()->enableMaxDepthChecks());
return new JsonResponse($data, 200, [], true);
}
Function getAll 在我的控制器中返回带有表任务的数据。
请帮我解决我的问题。 :)
谢谢,朋友们。
【问题讨论】:
-
检查你的服务器日志看看有什么错误。
-
服务器日志,没有日志错误。 :( 我认为这是 JMS 序列化程序的问题。
-
这不是 JMS 序列化程序的问题。我使用了很多控制器,因为我创建了 SPA 和其他控制器,它被严重序列化。 :) 感谢帮助 :)
标签: api symfony jms symfony4 jms-serializer