为了账号安全,请及时绑定邮箱和手机立即绑定

从 Symfony 中的控制器返回 Json 响应

从 Symfony 中的控制器返回 Json 响应

PHP
慕妹3242003 2022-01-14 16:37:20
我正在尝试从 Symfony 3.4 中的控制器返回 JSON 响应这是我的控制器:/**     * @Route("/message/board/post", name = "message_post")     * @Method("POST")     */    public function postMeg(Request $request)    {        $entityManager = $this->getDoctrine()->getEntityManager();        $message = new message($request->request->get("txtName"));        $message->setMes($request->request->get("txtMes"));        $entityManager->persist($message);        $entityManager->flush();        return new JsonResponse(['result' => 'ok', 'ret' => array($entityManager)]);    }但是我在浏览器中得到 {"result":"ok","ret":[{}]} 作为响应我希望它可以显示为 ['result' => 'ok', 'ret' => txtName, txtMes ]
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

您应该使用$message而不是$entityManager评论中提到的,但将实体传递给new JsonResponse()将仅包含public消息实体中的属性,它们通常都是private. 有很多方法可以做到这一点,但最简单的方法是使用实体的 getter 准确插入您想要的内容:


return new JsonResponse([

  'result' => 'ok',

  'ret' => [

    'txtName' => $message->getTxtName(),

    'txtMes ' => $message->getTxtMes(),


  ],

]);


查看完整回答
反对 回复 2022-01-14
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号