我正在创建一个 API 控制器函数,该函数只有在我将在请求对象中获取test_id时才会执行,否则不会执行。我能够访问请求数据包并且能够在其中看到 test_id 属性。我已经尝试了几种方法,但我无法检查它。这是我的控制器功能。我尝试使用 try catch 块,它显然输出 500 错误
ErrorException:未定义的属性:文件 C:\xampp\htdocs\backendAPI\app\Http\Controllers\API\TestUploadController.php 中的 stdClass::$test_id。
我已经解决了这个问题并尝试了两种方式(isset()和property_exists()),但没有帮助我。即使我尝试了 echo/die() 他们都没有返回任何东西。
public function addReadingTestData(Request $req){
$module = 1;
$request = $this->getRequestData($req);
$isTestIdPResent = false;
try{
if($request->test_id){
$isTestIdPResent = true;
}
}
catch(Exception $e){
$this->sendBAdRequestResponse('no test id');
}
if($isTestIdPResent){
foreach($request->question as $ques){
echo $ques->description."<br>";
echo $ques->right_answer."<br><br>";
echo implode($ques->possible_answers,',');
echo "\n";
}
}else{
return $this->sendBAdRequestResponse('Test Id does not exist.');
}
}
public function getRequestData($request){
return json_decode($request::createFromGlobals()->getContent());
}
public function sendBAdRequestResponse($errors){
return response()->json(['error'=>$errors], 400);
}