@Route(defaults = {“_ format”=“json”}返回HTML

时间:2013-09-28 16:37:14

标签: php symfony routing

我有一个简单的crud控制器由doctrine生成

<?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(),
        );
    }
    //...
}

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

[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

1 个答案:

答案 0 :(得分:1)

捆绑FOS\RestBundle\FOSRestBundle正在创建冲突,当我从AppKernel.php移除一切正常时