duanque2413 2013-09-28 16:37
浏览 39
已采纳

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

I have a simple crud controller generate by 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(),
        );
    }
    //...
}

when i go to http://myhost/app_dev.php/my/new.json in dev.log i can see

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

but the browser renders the html template. why this happens?

I'm using Symfony v2.3.4 and v2.3.5

  • 写回答

1条回答 默认 最新

  • dtpxi88884 2013-09-28 17:02
    关注

    The bundle FOS\RestBundle\FOSRestBundle is creating a conflict, when I remove from AppKernel.php everything works normal

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?