【发布时间】:2022-01-05 10:29:14
【问题描述】:
我正在尝试在 Symfony 中返回 API 请求的结果(使用 Postman)。
这是我的相关控制器代码:
/**
* @Route("/apis/login", name="api_login")
*/
public function login(Request $request, UserRepository $userRepository): Response
{
$cin = json_decode($request->getContent(),true)["cin"];
$password = json_decode($request->getContent(),true)["password"];
$user = $userRepository->findOneBy(['cin'=>$cin, 'password'=>$password]);
if($user!=null){
return new JsonResponse(json_encode($user));
}else{
return new JsonResponse("false");
}
}
这是请求正文:
但是,这就是我得到的结果:
在我的代码中,如果我将这一行 return new JsonResponse(json_encode($user)); 更改为这一行 return new JsonResponse(serialize($user)); ,我会得到:
这证明返回的对象不为空。知道如何解决这个问题吗?
【问题讨论】:
-
你不需要编码参数,将参数作为数组传递。比如 JsonResponse(['id'=>$user->getId()])
-
好主意!我已经修好了。
标签: api object request symfony4 jsonresponse