我有一个控制器从移动应用程序返回一个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并在控制器中停止执行吗?或者有什么最好的解决方案来做这件事吗?
发布于 2017-09-07 20:38:25
奇怪的是没有人回答这个问题,我也会对它感到好奇,但是我被告知这不是解决问题的方法。解释是,如果您想要将响应类型从json更改为其他类型,则必须重构许多类(包括服务),但如果您在控制器中创建响应,则可以直接在控制器中更改它。
https://stackoverflow.com/questions/45235462
复制相似问题