POST JSON 를 처리하는 PHP API 만들기
대부분 이미 만들어진 API 받아 처리하는 방법을 만들었지, 실제 데이터를 보내는 API 를 개발하는 경우는 그리 많지 않을것이다. PHP 를 사용해 POST 로 JSON 데이터를 받았을 때 처리 예제다. 여기서 중요한 부분은 php://input 이다. php://input 는 client 에서 서버로 전용한 내용을 그대로 담는다는 의미로 get/post/request 와 같이 가공되지 않는 값을 담고 있다.
전송된 데이터의 포멧이 JSON 인지 확인해야 콘틴츠의 신뢰도를 높힐 수 있는 만큼, 서버의 CONTENT_TYPE 에 JSON 이 선언되어 있는지 먼저 확인할 필요가 있다.
<?php header('Content-Type: application/json; charset=UTF-8'); // 컨텐츠 타입이 JSON 인지 확인한다 if(!in_array('application/json',explode(';',$_SERVER['CONTENT_TYPE']))){ echo json_encode(array('result_code' => '400')); exit; } $__rawBody = file_get_contents("php://input"); // 본문을 불러옴 $__getData = array(json_decode($__rawBody)); // 데이터를 변수에 넣고 /* 처리부 */ echo json_encode(array('result_code' => '200', 'result'=>$__getData)); ?>
Chrome 의 API 테스터로 테스트해 보면 정상 동작. 처리부를 적당히 꾸미면 된다.
선생님 질문이 있는데요. 혹시 메일 주소 있으실가요?
ez-sarang at hanmail.net 으로 연락 주세요 ^^