【问题标题】:Symfony Request Object not being Injected in FosRest nested controller没有在 FosRest 嵌套控制器中注入 Symfony 请求对象
【发布时间】:2015-08-11 07:15:06
【问题描述】:

我在控制器中指定时遇到 Symphony 未注入 Request 对象的问题,我的代码如下:

Routing.yml:

user:
  type: rest
  resource: AppBundle\Controller\UserController

user_comments:
  type: rest
  parent: user
  resource: AppBundle\Controller\UserCommentsController

和 FosRest 控制器

namespace AppBundle\Controller;

use Symfony\Component\HttpFoundation\Request;

class UserCommentsController extends BaseRestController
{

    public function postCommentAction(Request $request, $userId)
    {
        var_dump($request);

        return $this->view($userId, 201);
    }

我的应用根本不响应路由,但是当我从 postCommentAction 中删除 Request $request 时,它按预期工作(但显然我无权访问 Request 对象)。

开发日志:

[2015-05-29 10:32:21] request.INFO: Matched route "post_user_comment" (parameters: "_controller": "AppBundle\Controller\UserCommentController::postCommentAction", "_format": "null", "userId": "a2fecac6-b7f6-4e00-8d03-989a9ee0973a", "_route": "post_user_comment") [] []
[2015-05-29 10:32:21] security.INFO: Attempting simple pre-authorization secured_area [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Nelmio\CorsBundle\EventListener\CorsListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DumpListener::configure". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "FOS\RestBundle\EventListener\MimeTypeListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\FragmentListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "FOS\RestBundle\EventListener\FormatListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "FOS\RestBundle\EventListener\BodyListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\TranslatorListener::onKernelRequest". [] []
[2015-05-29 10:32:21] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []

【问题讨论】:

  • 你的app/logs/dev.log有什么东西吗?
  • 除了一些 event.debugs 真的没有别的了 - 我已经更新了日志问题,看不到任何异常,也没有可见的错误。
  • 您的常规 PHP 或虚拟主机日志中有什么信息吗?
  • 能否请您发布控制器的 yaml/xml 定义?

标签: symfony fosrestbundle


【解决方案1】:

对不起大家 - 问题是由 var_dump($request) 引起的 - 一个隐藏在 VM 中的基本内存问题,考虑到 PHP 可以访问 ~512mb 内存,这令人印象深刻。

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 2021-06-16
    • 2013-05-08
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多