Symfony FOSRestBundle错误:在null上调用成员函数get()。 [路由或配置错误]

时间:2017-07-02 20:16:23

标签: rest symfony fosrestbundle symfony-3.3

我的问题:我有一个symfony 3应用程序。一个用于Rest Route的Bundle(所以我的bundle是一个rest API)和另一个管理前端的Bundle(Twig + Ajax)。 我使用fos_rest但似乎有问题。

我的config.yml:

fos_rest:
    routing_loader:
        include_format: false
    view:
        view_response_listener: true
    format_listener:
        rules:
            - { path: '^/rest', priorities: ['json'], fallback_format: 'json' }
            - { path: '^/', stop: true }

我的routing.yml:

front:
    resource: '@FrontBundle/Controller'
    type:     annotation

api:
    resource: '@AppBundle/Controller'
    type: rest
    prefix: '/rest'

和我的RestController中的一条基本路线:

/**
 * @Rest\View()
 * @Rest\Get("/participants")
 *
 * @param Request $request
 * @return mixed
 */
public function getParticipantsAction(Request $request)
{
    $participants = $this->get('doctrine.orm.entity_manager')
        ->getRepository('AppBundle:Participant')
        ->findAll();

    if (empty($participant)) {
        return new JsonResponse(['message' => 'There is no participants'], Response::HTTP_NOT_FOUND);
    }

    return $participants;
}

我用邮递员测试我的路线,它发给我一个错误Error: Call to a member function get() on null

1 个答案:

答案 0 :(得分:0)

尝试使用:$participants = $this->get('doctrine.orm.default_entity_manager')...

$participants = $this->getDoctrine()...