我有一个控制器从移动应用程序返回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并停止在控制器中执行,或者是否有任何最佳解决方案来执行此操作。
答案 0 :(得分:0)
奇怪的是,没有人回答这个问题,我会对此感到好奇,但我被告知这不是要走的路。解释是如果你想将响应类型从json更改为其他东西,你将不得不重构许多类(包括服务),但如果你在控制器中创建响应,你可以在那里更改它。