⊗ppSpAiRs 52 of 83 menu

PHP에서의 REST API

개발자와 API 사용자 모두의 편의를 위해 API를 표준화하는 특별한 접근 방식들이 존재합니다.

그러한 접근 방식 중 하나가 REST API입니다. 그 핵심 아이디어는 CRUD 작업에 HTTP 프로토콜의 다양한 메서드를 사용해야 한다는 것입니다.

데이터 조회에는 GET 메서드, 데이터 생성에는 POST 메서드, 데이터 수정에는 PUT 메서드, 데이터 삭제에는 DELETE 메서드를 사용합니다.

예를 들어, 사용자를 관리하는 어떤 API를 생각해 보겠습니다. 다양한 작업에 대한 URL이 어떻게 구성되는지 살펴보겠습니다.

모든 사용자 조회:

GET http://api.loc/users/

id로 특정 사용자 조회:

GET http://api.loc/user/1/

사용자 생성:

POST http://api.loc/user/

id로 사용자 수정:

PUT http://api.loc/user/1/

id로 사용자 삭제:

DELETE http://api.loc/user/1/

이제 PHP에서 REST API가 어떻게 구현되는지 살펴보겠습니다. 여기에는 약간의 문제가 있습니다. 사실 PHP와 CURL 모두 GET과 POST 메서드만 지원합니다:

<?php $method = $_SERVER['REQUEST_METHOD']; var_dump($method); // 오직 GET과 POST만 ?>

따라서 REST API를 구현하기 위해서는 약간의 트릭을 써야 합니다. 핵심은 실제 데이터 전송은 GET과 POST 메서드로만 이루어지지만, 커스텀 HTTP 헤더를 이용해 다른 메서드의 동작을 시뮬레이션한다는 것입니다. 예를 들어, HTTP-X-HTTP-METHOD라고 이름 지어보겠습니다.

그러면 다음과 같이 해당 헤더의 내용을 가져올 수 있습니다:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; ?>

이제 API를 구현할 수 있습니다:

<?php $method = $_SERVER['HTTP-X-HTTP-METHOD']; switch ($method) { case 'GET': // ... break; case 'POST': // ... break; case 'PUT': // ... break; case 'DELETE': // ... break; } ?>

인터넷 쇼핑몰 상품에 대한 REST API를 구현하세요.

CURL 라이브러리를 사용하여 구현한 API의 동작을 확인하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부