@Route(defaults={"_format"="json"} retur


@Route(defaults={"_format"="json"} returns HTML

我有一个简单的 crud 控制器,由学说生成

<?php
namespace MyBundle'Controller;
use Symfony'Component'HttpFoundation'Request;
use Symfony'Bundle'FrameworkBundle'Controller'Controller;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Method;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Route;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Template;
use MyBundle'Entity'MyEntity;
use MyBundle'Form'MyEntityType;
/**
 * PsaEventualidadContrato controller.
 *
 * @Route("/my")
 */
class MyController extends Controller
{
    //...
    /**
     * Displays a form to create a new MyEntity entity.
     *
     * @Route("/new.{_format}", name="my_new", defaults={"_format"="json"})
     * @Method("GET")
     * @Template()
     */
    public function newAction()
    {
        $entity = new MyEntity();
        $form   = $this->createCreateForm($entity);
        return array(
            'entity' => $entity,
            'form'   => $form->createView(),
        );
    }
    //...
}

当我去dev.log http://myhost/app_dev.php/my/new.json时,我可以看到

[2013-09-28 11:29:13] request.INFO: Matched route "eventualidad_new" (parameters: "_format": "json", "_controller": "MyBundle'Controller'MyController::newAction", "_route": "my_new") [] []

但是浏览器会呈现 HTML 模板。 为什么会这样?

我正在使用Symfony v2.3.4v2.3.5

捆绑

FOS'RestBundle'FOSRestBundle正在产生冲突,当我从AppKernel.php中删除时一切正常