Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony 4.4-返回我的用户(getUser())的JSON响应,但我只得到NULL:安全问题?_Php_Json_Symfony - Fatal编程技术网

Php Symfony 4.4-返回我的用户(getUser())的JSON响应,但我只得到NULL:安全问题?

Php Symfony 4.4-返回我的用户(getUser())的JSON响应,但我只得到NULL:安全问题?,php,json,symfony,Php,Json,Symfony,TLDR:当我想用我的用户(->getUser())返回JSON响应时,可以在GET中访问(我用Postman测试),我只有一个空JSON或NULL。而同样的方法在Symfony中也适用 我在一个基于Symfony 4.4和ReactJS的项目上。 我用安全包创建了我的用户实体 我制作了一个控制器来返回包含用户数据的JSON响应 使用新JsonResponse时,使用json_encode函数对对象进行编码。在本例中,您将得到空的JSON对象$this->json它是newjsonrespon

TLDR:当我想用我的用户(->getUser())返回JSON响应时,可以在GET中访问(我用Postman测试),我只有一个空JSON或NULL。而同样的方法在Symfony中也适用

我在一个基于Symfony 4.4和ReactJS的项目上。 我用安全包创建了我的用户实体

我制作了一个控制器来返回包含用户数据的JSON响应


使用
新JsonResponse
时,使用json_encode函数对对象进行编码。在本例中,您将得到空的JSON对象
$this->json
它是
newjsonresponse
上的包装器,它首先在容器中查找序列化程序。所以你至少有两个选择

  • 安装Symfony或JMS序列化程序,它将简化您的生活
  • 使用JsonSerializable接口并手动定义所需字段,而不是最佳变体

问题确实与安全相关,特别是来自凭证

我应该在请求中共享凭据

fetch(“http://localhost:8000/api/user", {
凭据:“包括”

})
Ok。我实际上不太理解序列化程序,但我的老板让我定制了一个序列化程序。如果我用它,它是一样的。我的json是空的。有人告诉我,邮递员将无法联系到我的连接用户,因为他不是会话的一部分。我得到的更少。感谢您的帮助。粘贴转储($user);在你的控制器中,你将看到你的$user是否为空。我一开始就这样做了,我有一个$user。问题与cookie\u会话有关。当我在localhost:8000(Symfony)中进行身份验证时,我有一个相关的cookie,但是当我使用React(localhost:3000)或Postman在localhost:8000中获取相关url时,我没有这个cookie。我通过授权我的两个本地主机之间的跨源请求解决了这个问题。