【发布时间】:2018-10-13 16:40:44
【问题描述】:
我正在尝试使用此行在控制器中返回 JSON:
return response()->json( $return );
$return 包含两个键/值对。
当我尝试在测试中验证响应时,它会失败,因为响应确实包含其他字段:
Unable to find JSON:
[{
"statusCode": 665,
"msg": "auth missing"
}]
within response JSON:
[{
"headers": [],
"original": {
"statusCode": "665",
"msg": "auth missing"
},
"exception": null
}].
我不知道其他键是如何到达那里的,以及为什么源数组嵌套在 source 键中。
如何确保只返回我传递给response()->json 的数组?
【问题讨论】:
-
你能把测试文件贴出来吗,据我所知你应该得到身份验证
-
简而言之,您正在将一个对象转换为 JSON,而不仅仅是 2 个数据点。你可以通过使用 ->get(); 来解决这个问题;在您的数据库调用上,这将使其返回一个数组,然后将其转换为 JSON 或保持调用相同并将特定数据点分配给您的返回函数,例如return response()->json([$return->statusCode, $return->msg]);
-
试试
return response($return , 200);
标签: php laravel laravel-5.5