11

我得到了例外:

找不到模板“”

其他类似的问题没有帮助。奇怪的是它工作正常,然后突然开始给我这个例外。

作曲家:

   "friendsofsymfony/rest-bundle": "0.13.*@dev",
   "jms/serializer-bundle": "0.12.*@dev",

我正在关注自动路由生成:单个 RESTful 控制器(用于简单资源)

配置:

fos_rest:
    format_listener: true
    routing_loader:
        default_format: json
    view:
        view_response_listener: 'force'
    serializer:
        serialize_null: true

sensio_framework_extra:
    view:    { annotations: false }
    router:  { annotations: true }

路由:

sectors:
    type: rest
    prefix: /{v}
    resource: JJ\MainBundle\Controller\SectorsController

控制器:

/**
 * @RouteResource("Sector")
 */
class SectorsController extends Controller
...
    public function cgetAction()
    {
        return $this->getSectorIndustryRepo()->findAll();
    }
4

4 回答 4

11

我设法通过将侦听器显式设置为 false 来解决此问题:

fos_rest:
    format_listener: false

编辑

这也有效:

fos_rest:
    format_listener:
        prefer_extension: false
        default_priorities:
            - json
于 2013-08-03T17:28:56.157 回答
6

对于 FOSRestBundle 2.0 版,配置应为

fos_rest:
    format_listener:
        rules:
            prefer_extension: false
            fallback_format: json
于 2017-06-11T18:34:51.867 回答
4

(供参考)如果 One 正在使用休息客户端进行测试或手动确保在您的请求中设置标头:Accept:application/json

因为 fosRestBundle 试图从请求中的标头中确定正确的响应类型。

于 2015-09-23T21:28:55.427 回答
2

注释您的控制器操作@View以解决此问题。

use FOS\RestBundle\View\View;

查看文档章节 View Response listener


如果您不想注释每个操作 - 您可以在此处使用我的拉取请求为完整类设置 @View 注释。

将此添加到您的 composer.json 以使用 PR。

"require": {
    "friendsofsymfony/rest-bundle": "dev-dev-view-addition as 0.12.0", 

// ...

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/nifr/FOSRestBundle"
    },
于 2013-08-02T10:25:46.593 回答