Я настраиваю службу REST для своего веб-сайта с помощью FOSRestBundle и JMSSerializerBundle.
Я создал собственный метод для репозитория сущностей, который возвращает объект Paginator. Этот метод отлично работает, когда я использую его на обычном веб-сайте, но когда я хочу использовать метод с маршрутом REST, возникает эта ошибка (вывод XML или JSON вызывает ту же ошибку):
«Ресурсы не поддерживаются в сериализованных данных».
Я действительно не знаю, где искать, так как ошибка не очень явна для меня.
Вот мой AdsRestController.php:
<?php
namespace MyProject\MainBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FOS\RestBundle\Controller\Annotations\View;
use FOS\RestBundle\Controller\Annotations\Get;
class AdsRestController extends Controller
{
/**
* @View
* @Get("/ads/list/all/{page}", requirements={"page" = "\id+"}, defaults={"page" = 1})
*/
public function getAdsListAllAction($page) {
$theAds = $this->getDoctrine()->getRepository('MyProjectMainBundle:Ads')->getAds($page);
return $theAds;
}
}
и мой AdsRepository.php:
<?php
namespace MyProject\MainBundle\Entity;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\Tools\Pagination\Paginator;
class AdsRepository extends EntityRepository
{
public function getAds($page=1, $maxPerPage=10)
{
$query = $this->createQueryBuilder('a')
->orderBy('a.date', $order)
;
$query->getQuery();
$query
->setFirstResult(($page-1) * $maxPerPage)
->setMaxResults($maxPerPage)
;
return new Paginator($query, true);
}
}
Любая помощь будет высоко ценится !
Спасибо.