Php FOSRestBundle向我的路线添加前缀

Php FOSRestBundle向我的路线添加前缀,php,symfony,fosrestbundle,Php,Symfony,Fosrestbundle,我正在项目中安装FOSRestBundle并对其进行配置: fos_rest: param_fetcher_listener: true body_listener: true format_listener: true view: view_response_listener: 'force' formats: xml: true json : true templa

我正在项目中安装FOSRestBundle并对其进行配置:

fos_rest:
    param_fetcher_listener: true
    body_listener: true
    format_listener: true
    view:
        view_response_listener: 'force'
        formats:
            xml: true
            json : true
        templating_formats:
            html: true
        force_redirects:
            html: true
        failed_validation: HTTP_BAD_REQUEST
        default_engine: twig
    routing_loader:
        default_format: json
在my routing.yml中:

api:
   resource: routing_api.yml
   prefix: /api
路由api.yml

books:
  type: rest
  resource: @ApiBundle/Controller/BookController.php
和图书管理员:

   //namespaces..
    /**
     * Class BookController
     * @package ApiBundle\Controller
     */
    class BookController extends BaseApiController
    {
        public function getBookAction($id)
        {
            $book = $this->getDoctrine()->getManager()->getRepository('SiteBundle:Books\Books')->find($id);
            if(!$book)
            {
                throw new NotFoundHttpException('Book not found');
            }

            return $book;

        }



    }
接下来我将运行控制台命令:
$php应用程序/控制台路由:调试| grep api
并获得:

get\u book\u book get ANY/api/books/{id}/book.{u format}
那么,为什么呢? 如何正确地配置它,所以我得到如下结果:
/api/books/{id}.{{u format}

试试这个:

// routing_api.yml
books:
    type:     rest
    resource: @ApiBundle/Controller/BookController.php

get_book_book:
    pattern:  /books/{id}.{_format}
    defaults: { _controller: ApiBundle:Book:myAction, _format: json }

是的,它可以工作,但我不想使用
yml
进行路由。