php - 获取 laravel post api 来识别 json 数据
问题描述
制作API,遇到了一个不太确定的问题。我正在尝试输入一个 JSON 数据块,因为这是节点客户端将提供给 API 的内容。
我收到错误:
ErrorException: Invalid argument supplied for foreach()
我试过在 $data 变量上做 json_encode,也试过这个:
$data = json_encode(json_encode($validatedData["required_data"]), true);
但没有运气。
我目前有这个代码:
public function putData(Request $request) {
if($request->get('token') !== config()->get('discord.CLIENT_SECRET'))
return response()->json($this->badAuthResponse);
$guilds = Guilds::all();
$validatedData = $request->validate([
"required_data" => "required"
]);
$data = $validatedData["required_data"];
foreach($data as $guild) {
//complete the task of whatever im going to do with guild in a bit
}
}
我试图传递这些数据:
{
"1":{
"is_setup":1,
"guild_data":{
"prefix":"m>",
"locale":"en",
"filter":false
}
},
"2":{
"warn_data":{
"1":{
"total_count":1,
"reasons":{
"1":"phising links"
}
}
}
},
"3":{
}
}
解决方案
出于某种奇怪的原因,它不适用于名称
required_data
但是将其更改为
data
它突然开始工作,不知道为什么。
public function putData(Request $request) {
if($request->get('token') !== config()->get('discord.CLIENT_SECRET'))
return response()->json($this->badAuthResponse);
$guilds = Guilds::all();
$validData = $request->validate([
"data" => "required"
]);
$data = json_decode($validData["data"], true);
foreach($data as $guild=>$data) {
print_r(($guild));
}
}
推荐阅读
- git - Git状态变化
- postgresql - 如何取子字符串
- php - 如何通过服务帐号访问 G Suite 成员的日历
- java - Raspberry Pi3b+ 上嵌入的 JavaFX:在触摸屏上按几次后,激活了错误的按钮
- javascript - 如何使用适当的算法过滤数据?
- html - 如何在 Angular 中使用 ngFor 仅显示某些数据类型?
- javascript - 如何使用 Material-UI 在具有相同纵横比和信箱的卡片 div 中显示完整图像?
- aws-glue - 在 aws 胶水 scala 中重命名文件
- c - static const int 与 const int 之间的区别
- angular - 我能够在 Angular 11 应用程序中发送发布请求,但如何检索特定输入值的数据