Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP로 웹 API 서비스 만드는 방법: REST·SOAP 기초부터 실전 예제까지

PHP 웹 API 서비스의 기본 개념

현재 웹 개발 분야에서 가장 널리 사용되는 API 방식은 SOAPREST입니다. 이 글에서는 간단한 예제를 통해 PHP로 웹 API 서비스를 구축하는 과정을 단계별로 살펴보겠습니다.

1단계: 핵심 기능을 담은 클래스 작성

먼저 데이터베이스의 항목(entry)을 관리하는 manage.php라는 PHP 클래스가 있다고 가정해 보겠습니다.

class manage {
    private $entryId;

    function __construct($entryId) {
        $this->entryId = $entryId;
    }

    function deleteEntry() {
        // 데이터베이스에서 $this->entryId 항목 삭제
    }
}

2단계: 같은 서버 내에서 기능 호출하기

서버 내부에서는 아래와 같이 해당 기능을 직접 호출하여 사용할 수 있습니다.

require_once('manage.php');
$m = new manage(12);
$m->deleteEntry();

3단계: 외부 서버 접근을 위한 인터페이스 파일 생성

그렇다면 다른 서버에서는 이 기능에 어떻게 접근할 수 있을까요? 해결책은 버퍼이자 인터페이스 역할을 하는 별도의 중간 파일을 만드는 것입니다. 이 파일이 곧 API 엔드포인트가 됩니다.

예를 들어 api/delete.php라는 파일을 다음과 같이 작성할 수 있습니다.

require_once('manage.php');

if(hasPermission($_POST['api_key'])) {
    $m = new manage($_POST['entry_id']);
    $m->deleteEntry();
}

4단계: 클라이언트에서 API 호출하기

사용자는 api_keyentry_id를 함께 담아 https://example.com/api/delete.php 주소로 POST 요청을 전송하면 됩니다. 서버는 전달받은 API 키의 권한을 검증한 후, 요청된 항목을 삭제 처리합니다.

실무 적용 시 유의 사항

  • API 키 검증 강화: 권한 확인 로직(hasPermission)은 반드시 안전하게 구현해야 합니다.
  • HTTPS 사용: API 키가 평문으로 노출되지 않도록 SSL/TLS 통신을 적용하세요.
  • 입력값 필터링: SQL 인젝션 등 공격을 방지하기 위해 모든 입력값을 검증하고 이스케이프 처리해야 합니다.
  • 응답 형식 표준화: 성공 여부를 JSON 등 일관된 형식으로 반환하면 클라이언트 측 처리가 쉬워집니다.

이처럼 기존 클래스 앞에 인터페이스 역할을 하는 파일을 두는 구조만으로도, 외부 서버가 안전하게 기능을 호출할 수 있는 REST 스타일의 웹 API를 손쉽게 구축할 수 있습니다.