FOSRestBundle,can';我似乎不知道如何让JSON和HTML一起工作

FOSRestBundle,can';我似乎不知道如何让JSON和HTML一起工作,json,rest,symfony,routing,Json,Rest,Symfony,Routing,我有一个博客网站。唯一的实体是博客和用户。我想让这些博客文章通过手机的json GET可见。但是我还需要一个默认的GET路由,它只返回HTML(当然还有CSS) 当然,我已经环顾了四周,但除了让网站只输出JSON之外,我似乎找不到一个更好的教程来更深入地介绍FOSRestBundle(当然,我可能会做一些非常错误的事情) 现在,当我设置路由时,我只能将JSON作为默认路由。我希望在URL中执行.JSON时获得JSON输出,在默认路由中获得HTML输出。我的路线是这样的: _welcome:

我有一个博客网站。唯一的实体是博客和用户。我想让这些博客文章通过手机的json GET可见。但是我还需要一个默认的GET路由,它只返回HTML(当然还有CSS)

当然,我已经环顾了四周,但除了让网站只输出JSON之外,我似乎找不到一个更好的教程来更深入地介绍FOSRestBundle(当然,我可能会做一些非常错误的事情)

现在,当我设置路由时,我只能将JSON作为默认路由。我希望在URL中执行
.JSON
时获得JSON输出,在默认路由中获得HTML输出。我的路线是这样的:

_welcome:
    pattern: /
    defaults: { _controller: TestTestingBundle:Main:homepage, _format: json }
这是MainController.php:

<?php

namespace Test\TestingBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FOS\RestBundle\View\View;  

class MainController extends Controller
{
    public function homepageAction()
    {
        $latestposts = $this->getLatestBlogs();
        $posts = $this->trimContent($latestposts);

        $view = View::create(array('lastblogs' => $posts))
                    ->setStatusCode(200)
                    ->setEngine('twig')
                    ->setTemplate(new TemplateReference('TestTestingBundle', 'Index', 'index'))
                    ->setData($latestposts);

        return $this->get('fos_rest.view_handler')->handle($view); 
    }
}

如果您希望能够通过路由更改格式,请为格式添加占位符:

_welcome:
    pattern: /.{_format}
    defaults: { _controller: TestTestingBundle:Main:homepage }

当我这样做时,如果我只是使用HTML,JSON元素不会显示在我的小树枝模板中。如何使用
视图处理此问题?我做
$view=view::create(数组('lastblogs'=>$posts))但它没有显示在HTML中。很抱歉,我不明白你想要什么,HTML还是JSON?@tolgap你知道什么了吗?我必须使用
$view->setTemplateVars()
作为我想在twig模板中使用的变量。