私はOneToMany関係で少し粗いシステムを作成しましたが、ちょっとしたAPIも作成したいと思います。Symfony APIコントローラはレスポンスを返す必要があります
私は新しいApiBundleを生成し、このようになります私のエンティティの1のための1つのコントローラを追加しました:
<?php
namespace ApiBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Controller\FOSRestController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use FOS\RestBundle\View\View;
use DataBundle\Entity\Job;
class JobController extends FOSRestController
{
public function getAction()
{
$result = $this->getDoctrine()->getRepository('DataBundle:Job')->findAll();
if ($result === null) {
return new View("There are no jobs in the database", Response::HTTP_NOT_FOUND);
}
return $result;
}
public function idAction($id)
{
$result = $this->getDoctrine()->getRepository('DataBundle:Job')->find($id);
if($result === null) {
return new View("Job not found", Response::HTTP_NOT_FOUND);
}
return $result;
}
}
をしかし、私は/ API /ジョブへの呼び出しを行うとき、私は次のエラーを取得:
をUncaught PHP Exception LogicException: "The controller must return a response (Array(0 => Object(DataBundle\Entity\Job), 1 => Object(DataBundle\Entity\Job)) given)."
誰でも私がここで間違っていることを知っていますか?
ご協力いただきましてありがとうございます。事前に
多くの感謝:)
https://symfony.com/doc/current/controller.html –