我正在尝试使用Symfony 3.4创建REST API,但是在学习如何使用此捆绑软件时发现了一些困难。
因此,当我尝试查看一些教程时,由于捆绑软件的版本转移,我会出错,因此我发现自己尝试进行任何配置复制和粘贴,直到它起作用为止,我感到非常难看。
我正在尝试使用JSON获取影片
烦躁的我的问题,我得到了这个错误:
There are no registered paths for namespace App
Twig_Error_Loader
我通过将其添加到config.yaml中来解决
fos_rest:
view:
view_response_listener: force
但是经过一阵子没有做任何更改之后,出现了一个新错误:
An instance of Symfony\Bundle\FrameworkBundle\Templating\EngineInterface must be injected in FOS\RestBundle\View\ViewHandler to render templates.
<?php
namespace AppBundle\Controller;
use FOS\RestBundle\Controller\ControllerTrait;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
// use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations as Rest;
use AppBundle\Entity\Movie;
class MoviesController extends AbstractController
{
use ControllerTrait;
/**
* @Rest\View(populateDefaultVars=false)
*/
public function getMoviesAction(){
$movies = $this->getDoctrine()
->getRepository(Movie::class)
->findAll();
// print_r($movies); die;
return $movies;
}
}
当我们看到文档时,我问我如何理解这些内容:
https://symfony.com/doc/master/bundles/FOSRestBundle/configuration-reference.html
因此,今天的“我的问题”是一个基本问题:如何学习在Symfony中使用特定捆绑软件并像专业人士一样工作?捆绑概念设计师的问题是由于他的文档不佳还是在我身上?
答案 0 :(得分:1)
自Symfony 4(包括Symfony 3.4,因为它是同一件事)以来,您应该使用API平台而不是FOSRestBundle
composer require api
不到两分钟,您的API就准备好了。 只需添加
use ApiPlatform\Core\Annotation\ApiResource;
供您使用和
@ORM\Entity
到您的Entity注释和Goo !!!
更多信息: