FOSRestBundle仅侦听前缀

时间:2017-08-09 10:01:35

标签: php symfony fosrestbundle

我有一个Symfony应用程序并运行,我想只在前缀/ api / *上运行FOSRestBundle 我做了一些研究,发现一个使用区域提到的答案

zone:
    - { path: ^/api/* }

但我收到以下错误:

  

无法找到模板“”(查看......

这是我的配置:

fos_rest:
    format_listener: false
    zone:
        - { path: ^/api/* }
    view:
        view_response_listener: 'force'
        formats:
            json: true

这是控制器:

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;


class APIRestController extends FOSRestController
{
    /**
     * @Rest\Get("api/gettime")
     */
    public function getTimeAction()
    {
        $restresult = new \DateTime();

        $view = View::create($restresult, 200);
        return $view;

    }

此外:

"friendsofsymfony/rest-bundle": "2.0.0",
"jms/serializer-bundle": "^2.0"

我花了几个小时阅读文档并在线查看但没有运气,我只是继续进行圈子!

1 个答案:

答案 0 :(得分:2)

修复您的配置:

fos_rest:
    format_listener:
        rules:
            - { path: '^/api', priorities: [ 'json'], fallback_format: json, prefer_extension: true }
    zone:
        - { path: ^/api/* }
    view:
        view_response_listener: 'force'
        formats:
            json: true