0

我有一个控制器从移动应用程序返回一个 JsonResponse,对于每个操作,我必须验证用户是否使用令牌连接。我想在服务身份验证中委派此操作。

    $user = $this->em->getRepository('UserBundle:User')->findOneBy(array('email' => $username));
    if (!$user) {
        return new JsonResponse('User not found', 501);
    }
    $session = $this->em->getRepository('UserBundle:Session')->findOneBy(array('user' => $user->getId(), 'token' => $token));
    if(!$session){
        return new JsonResponse('Session not found', 501);
    }
    return true;

这里一切正常,但在我的控制器中,我必须通过这个测试来验证结果。

    if($result instanceof JsonResponse){
        return $result;
    }
    ...

我可以直接从服务返回 JsonResponse 并停止在控制器中执行,还是有任何最好的解决方案来做这件事。

4

1 回答 1

0

奇怪的是没有人回答这个问题,我也会很好奇,但是我被告知这不是要走的路。解释是,如果您想将响应类型从 json 更改为其他类型,则必须重构许多类(包括服务),但如果您在控制器中创建响应,则可以在那里进行更改。

于 2017-09-07T12:38:25.263 回答