symfony - FOSRestBundle:未触发 ExceptionController

标签 symfony fosrestbundle

config.yml:

twig:
    debug:            %kernel.debug%
    strict_variables: %kernel.debug%
    exception_controller: 'FOS\RestBundle\Controller\ExceptionController::showAction'

fos_rest:
    routing_loader:
        default_format: json
    view:
        view_response_listener: force
        force_redirects:
            html: true
    format_listener:
        rules:
            - { path: '^/api', fallback_format: json }
            - { path: '^/', fallback_format: html }
    param_fetcher_listener: force
    body_listener: true
    exception:
        codes:
            'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404
            'Symfony\Component\HttpKernel\Exception\NotFoundHttpException': 404
            'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT

但是返回的是html:

...<h2><span>2/2</span> <abbr title="Symfony\Component\HttpKernel\Exception\NotFoundHttpException">NotFoundHttpException</abbr>: No route found for "GET /api/user/jFvms0rp%20"</h2>...

如何将其转为json?

最佳答案

我解决了同样的问题:

这是我的配置:

fos_rest:
    body_listener: true
    view:
        view_response_listener: force
    format_listener:
        rules:
            - { path: '^/', fallback_format: json }

希望对你有帮助

关于symfony - FOSRestBundle:未触发 ExceptionController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20904867/

相关文章:

php - Symfony 3.3 - Autowiring 弃用狂潮

symfony - 将基于参数的服务注入(inject)其他服务

entity-framework - Doctrine 和多实体关联

rest - 在 RESTful api 中使 FOS RestBundle 和 json HAL 可集成的策略

json - 使用 json 的 FOSRest Symfony POST

当提供 token 时,Symfony2 OAuth 不断给我一个登录页面

php - 带有语言环境的 Symfony2 错误页面

php - 无法找到模板 symfony3

Symfony2、FOSRestBundle。如何将组与 JMSSerializerBundle 一起使用?

symfony - FOSRestBundle get 属性与 post 属性不同