我有一个博客网站。唯一的实体是博客帖子和用户。我想通过手机的 json GET 使这些博文可见。但我也想要一个默认的 GET 路由,它只返回 HTML(当然还有 CSS)。
当然,我环顾四周,但除了使网站仅输出 JSON 之外,我似乎找不到更深入 FOSRestBundle 的好教程(但当然,我可能做错了可怕的事情)。
现在,当我设置路由时,我只能将 JSON 作为默认路由。我想.json
在 URL 中获取 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);
}
}
截至目前,当我访问时,localhost/Symfony/web/app_dev.php/
我得到了 JSON 输出。但如果我去localhost/Symfony/web/app_dev.php/.json
. 我该怎么做?
如果您需要更多代码,请发表评论。