REST API 시작하기
이 튜토리얼에서는 CodeIgniter 4를 사용하여 책을 관리하는 간단한 RESTful API를 구축하는 과정을 안내합니다. 프로젝트 설정 방법, 데이터베이스 구성, API 엔드포인트 생성 방법 및 API가 RESTful해지기 위한 조건 등을 배웁니다.
이 튜토리얼은 주로 다음에 중점을 둡니다:
자동 라우팅(개선됨)
JSON API 엔드포인트 생성
일관된 응답을 위해 API ResponseTrait 사용
모델을 사용한 기본적인 데이터베이스 작업
팁
CodeIgniter의 기초를 다루지만, 최소한 첫 번째 애플리케이션 튜토리얼을 완료했다고 가정합니다.
설치 및 실행
CodeIgniter 설치
composer create-project codeigniter4/appstarter books-api
cd books-api
php spark serve
브라우저에서 http://localhost:8080 에 접속하면 CodeIgniter 환영 페이지가 보일 것입니다.
참고
터미널 하나에서 서버를 계속 실행해 두세요. 원한다면 언제든지 Ctrl+C 로 서버를 중지하고 php spark serve 로 다시 시작할 수 있습니다.
개발 모드 설정
환경 파일을 복사하고 개발 설정을 활성화합니다:
cp env .env
.env 파일을 열고 다음 라인의 주석이 해제되어 있는지 확인합니다:
CI_ENVIRONMENT = development
spark env 명령을 사용하여 환경을 설정할 수도 있습니다:
php spark env development
SQLite 설정
외부 설정이 필요 없도록 writable/ 디렉토리 아래에 단일 파일 SQLite 데이터베이스를 사용하겠습니다.
.env 파일을 열고 데이터베이스 섹션의 주석을 해제한 후 다음과 같이 설정합니다:
database.default.DBDriver = SQLite3
database.default.database = database.db
database.default.DBPrefix =
database.default.username =
database.default.password =
database.default.hostname =
database.default.port =
CodeIgniter는 SQLite 데이터베이스 파일이 존재하지 않으면 자동으로 생성하지만, writable/ 디렉토리가 웹 서버에 의해 쓰기 가능해야 합니다.
경고
일부 시스템에서는 그룹/소유자를 조정하거나 개발 기간 동안 일시적으로 chmod 666 을 사용해야 할 수도 있습니다. 운영 환경에는 절대 모든 사용자에게 쓰기 권한(world-writable)을 부여하지 마십시오.
이제 SQLite가 설정된 작동 가능한 CodeIgniter4 프로젝트가 준비되었습니다.
앱은
php spark serve로 시작됩니다..env 에서
CI_ENVIRONMENT가development로 설정되었습니다.writable/database.db 가 존재하고 쓰기 가능합니다.
다음 단계
다음 섹션에서는 자동 라우팅을 활성화하고 간단한 JSON 엔드포인트(/api/pings)를 생성하여 CodeIgniter에서 HTTP 동사가 어떻게 컨트롤러 메서드에 매핑되는지 확인하겠습니다.