콘텐츠 유형이 application/json 인 코드 반환 응답을 추가 했음에도 불구하고. 는 난 단지 JSON 데이터를 원하지만 나는 PHP 내가 Route.php이 추가 데이터PHP 콘텐츠 유형을 'application/json'으로 설정 했음에도 불구하고 응답으로 추가 텍스트를 추가하는 슬림
`$app->POST('/api/user/new', function ($Request, $response) { $json = file_get_contents('php://input'); $obj = new users(); $obj = json_decode($json); // {"id":"1","typeId":"1","name":"Haridev Nirgude","phone":"8121155693", // "email":"[email protected]","deptID":null,"password":"Hyderabad143","insession":"0"} $typeId= $obj->typeId; $name= $obj->name; $phone=$obj->phone; $email=$obj->email; $deptID=$obj->deptID; $password=$obj->password; $userID = $obj->userID; $sql = "INSERT INTO users (typeId,name,phone,email,deptID,password,userID) VALUES (:typeId,:name,:phone,:email,:deptID,:password,:userID)"; try{ // Get DB Object $db = new db(); // Connect $db = $db->connect(); $stmt = $db->prepare($sql); //$stmt->bindParam(':',$); $stmt->bindParam(':typeId',$typeId); $stmt->bindParam(':name',$name); $stmt->bindParam(':phone',$phone); $stmt->bindParam(':email',$email); $stmt->bindParam(':deptID',$deptID); $stmt->bindParam(':password',$password); $stmt->bindParam(':userID', $userID); $stmt->execute(); $result = '{"type":"success","text": "User Registered successfully"}'; return $response->withStatus(200)->withHeader('Content-Type', 'application/json')->write($result); //echo '{"type":"success","text": "User Added successfully"}'; // echo '{"notice": {"text": "User Added successfully"}'; } catch(PDOException $e){ $result = '{"type":"error","text":'.$e->getMessage().'}'; return $response->withStatus(200)->withHeader('Content-Type', 'application/json')->write($result); }});'
`
이있는 $ 출력 추가하고 볼 수 디버깅 할 때 추가 정크 관계없이 변경 사항을 추가 오류가 발생했습니다. 나는 등 다양한 withJson 등의 방법도 요청을 사용하여, 내가 디버그 PHP에 XDebug가 사용하던으로 여전히 텍스트 아래에 점점 인터페이스에서 응답 내 JSON 응답 데이터
{"type":"error","text":SQLSTATE[23000]: Integrity constraint
> violation: 1062 Duplicate entry 'Ha8' for key 'userID'}
> <br /> <font size='1'><table class='xdebug-error xe-notice' dir='ltr'
> border='1' cellspacing='0' cellpadding='1'> <tr><th align='left'
> bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000;
> color: #fce94f; font-size: x-large;'>(!)</span> Notice: Undefined
> property: stdClass::$deptID in
> C:\xampp\htdocs\SlimSwachhmApp\src\routes\AuthUsers.php on line
> <i>134</i></th></tr> <tr><th align='left' bgcolor='#e9b96e'
> colspan='5'>Call Stack</th></tr> <tr><th align='center'
> bgcolor='#eeeeec'>#</th><th align='left'
> bgcolor='#eeeeec'>Time</th><th align='left'
> bgcolor='#eeeeec'>Memory</th><th align='left'
> bgcolor='#eeeeec'>Function</th><th align='left'
> bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec'
> align='center'>1</td><td bgcolor='#eeeeec'
> align='center'>0.1126</td><td bgcolor='#eeeeec'
> align='right'>374600</td><td bgcolor='#eeeeec'>{main}()</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\src\routes\AuthUsers.php'
> bgcolor='#eeeeec'>...\AuthUsers.php<b>:</b>0</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec'
> align='center'>0.1723</td><td bgcolor='#eeeeec'
> align='right'>773568</td><td bgcolor='#eeeeec'>Slim\App->run(???
>)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\src\routes\AuthUsers.php'
> bgcolor='#eeeeec'>...\AuthUsers.php<b>:</b>196</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec'
> align='center'>0.1997</td><td bgcolor='#eeeeec'
> align='right'>1289520</td><td bgcolor='#eeeeec'>Slim\App->process(
> ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\App.php'
> bgcolor='#eeeeec'>...\App.php<b>:</b>295</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec'
> align='center'>0.1999</td><td bgcolor='#eeeeec'
> align='right'>1289496</td><td
> bgcolor='#eeeeec'>Slim\App->callMiddlewareStack(???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\App.php'
> bgcolor='#eeeeec'>...\App.php<b>:</b>370</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec'
> align='center'>0.2000</td><td bgcolor='#eeeeec'
> align='right'>1289632</td><td bgcolor='#eeeeec'>Slim\App->__invoke(
> ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\MiddlewareAwareTrait.php'
> bgcolor='#eeeeec'>...\MiddlewareAwareTrait.php<b>:</b>122</td></tr>
> <tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec'
> align='center'>0.2078</td><td bgcolor='#eeeeec'
> align='right'>1356576</td><td bgcolor='#eeeeec'>Slim\Route->run(???,
> ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\App.php'
> bgcolor='#eeeeec'>...\App.php<b>:</b>476</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec'
> align='center'>0.2078</td><td bgcolor='#eeeeec'
> align='right'>1356576</td><td
> bgcolor='#eeeeec'>Slim\Route->callMiddlewareStack(???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Route.php'
> bgcolor='#eeeeec'>...\Route.php<b>:</b>316</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec'
> align='center'>0.2078</td><td bgcolor='#eeeeec'
> align='right'>1356712</td><td bgcolor='#eeeeec'>Slim\Route->__invoke(
> ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\MiddlewareAwareTrait.php'
> bgcolor='#eeeeec'>...\MiddlewareAwareTrait.php<b>:</b>122</td></tr>
> <tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec'
> align='center'>0.2101</td><td bgcolor='#eeeeec'
> align='right'>1390032</td><td
> bgcolor='#eeeeec'>Slim\Handlers\Strategies\RequestResponse->__invoke(
> ???, ???, ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Route.php'
> bgcolor='#eeeeec'>...\Route.php<b>:</b>344</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec'
> align='center'>0.2101</td><td bgcolor='#eeeeec'
> align='right'>1390032</td><td bgcolor='#eeeeec'><a
> href='http://www.php.net/function.call-user-func:{C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php:41}'
> target='_new'>call_user_func:{C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php:41}</a>
> (???, ???, ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php'
> bgcolor='#eeeeec'>...\RequestResponse.php<b>:</b>41</td></tr> <tr><td
> bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec'
> align='center'>0.2101</td><td bgcolor='#eeeeec'
> align='right'>1390032</td><td
> bgcolor='#eeeeec'>Slim\Container->{closure:C:\xampp\htdocs\SlimSwachhmApp\src\routes\AuthUsers.php:110-191}(
> ???, ???, ???)</td><td
> title='C:\xampp\htdocs\SlimSwachhmApp\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php'
> bgcolor='#eeeeec'>...\RequestResponse.php<b>:</b>41</td></tr>
> </table></font>
중복 키로 데이터베이스에 새 레코드를 삽입하려고합니다. – Nima
예 알아두면 catch 블록에서도 처리되지만 응답이 잘못된 것은 추가 데이터가 있음을 알 수 있습니다. –
$ response-> withStatus() -> withHeader() -> write()'chain 대신'$ response-> withJson ($ result, 200)'을 시도하십시오. – Nima