Home / AI / AI 바이브코딩 / AI로 REST API 만들기 — 초보도 30분이면 서버 완성
VIBE
AI로 REST API 만들기 — 초보도 30분이면 서버 완성
On this page
REST API는 백엔드 개발의 기본입니다. 클라이언트가 요청을 보내면 서버가 데이터를 반환하는 단순한 패턴이지만, 직접 코드를 짜려면 라우팅, 미들웨어, 데이터베이스 연결, 인증 등 알아야 할 것이 많습니다. AI 바이브코딩으로 접근하면 30분 안에 동작하는 서버를 만들 수 있습니다.
REST API의 동작 원리
클라이언트(앱, 브라우저)가 특정 URL로 HTTP 요청을 보내면, 서버가 해당 요청을 처리하고 JSON 형태의 응답을 돌려줍니다. URL 경로와 HTTP 메서드(GET, POST, PUT, DELETE) 조합으로 어떤 작업을 할지 정해집니다. 예를 들어 GET /users는 사용자 목록 조회, POST /users는 사용자 생성, DELETE /users/123은 ID 123인 사용자 삭제를 의미합니다.
이 규칙성 덕분에 REST API는 한 번 패턴을 익히면 다양한 도메인에 적용할 수 있습니다. 게시판, 쇼핑몰, 알림 시스템 모두 같은 구조로 만들 수 있어, AI에게 도메인만 바꿔서 요청하면 비슷한 코드를 빠르게 받을 수 있습니다.
1단계 — 기능 명세 작성
먼저 어떤 API를 만들지 정리합니다. "할 일 목록 API: GET /todos로 목록 조회, POST /todos로 새 할 일 추가, DELETE /todos/:id로 삭제"처럼 명확하게 적어두면 AI가 정확한 코드를 만듭니다. 데이터 형식도 미리 정의합니다 — 할 일은 id, title, completed 같은 필드를 가집니다.
이 단계를 건너뛰고 "API 만들어줘"라고만 요청하면 AI가 임의의 구조로 코드를 만들어 의도와 다를 수 있습니다. 5분 정도 시간을 들여 기능 명세를 명확히 하는 것이 결과 품질에 큰 차이를 만듭니다.
2단계 — AI에게 코드 요청
Claude나 ChatGPT에 "Express.js로 위 명세에 맞는 REST API를 만들어줘. 데이터는 메모리에 배열로 저장하고, 시작 코드를 한 파일에 다 담아줘"처럼 구체적으로 요청합니다. 라이브러리(Express, Fastify 등), 데이터 저장 방식(메모리, SQLite, PostgreSQL), 파일 구조까지 명시하면 결과가 일관됩니다.
처음에는 데이터를 메모리에 저장하는 가장 단순한 형태로 시작하는 것이 좋습니다. 동작하는 것을 확인한 뒤 SQLite나 다른 DB로 확장하는 방식이 안정적입니다. 한 번에 너무 많은 기능을 요구하면 디버깅이 어려워집니다.
3단계 — 실행과 테스트
Node.js를 설치한 환경에서 npm init -y 후 npm install express를 실행합니다. AI가 만든 코드를 server.js로 저장하고 node server.js로 실행하면 보통 3000 포트에서 서버가 시작됩니다.
테스트는 curl이나 Postman을 사용합니다. curl http://localhost:3000/todos로 GET 요청을, curl -X POST -H "Content-Type: application/json" -d '{"title":"테스트"}' http://localhost:3000/todos로 POST 요청을 보낼 수 있습니다. 응답이 JSON으로 정상적으로 오면 성공입니다.
4단계 — 데이터베이스 연결
메모리 저장은 서버를 재시작하면 데이터가 사라집니다. 영구 저장이 필요하면 SQLite를 추천합니다. 추가 서버 설치 없이 파일 하나로 동작하는 가장 단순한 DB입니다. AI에게 "현재 코드를 SQLite로 변경하고 better-sqlite3 라이브러리를 사용해줘"처럼 추가 요청하면 됩니다.
PostgreSQL이나 MySQL 같은 본격적인 DB가 필요하면 Supabase나 PlanetScale 같은 클라우드 DB를 검토합니다. 두 서비스 모두 무료 플랜이 있고, 환경변수로 연결 문자열만 받아 사용하면 코드는 거의 같은 형태로 유지됩니다.
5단계 — 배포
로컬 실행 후 단계는 클라우드 배포입니다. Railway, Fly.io, Render 모두 Node.js 서버 호스팅을 제공하며, GitHub 연동으로 푸시 시 자동 배포됩니다. 환경변수와 포트 설정만 호스팅 서비스에 맞춰 조정하면 됩니다.
배포 후에는 도메인이 자동 부여되고, 인증서(HTTPS)도 기본 제공됩니다. 외부 클라이언트(앱, 다른 서비스)가 이 도메인으로 요청을 보내면 동작합니다. 30분 안에 메모리 → SQLite → 클라우드 배포까지 완성하는 것이 AI 바이브코딩의 강점입니다.
운영 시 주의사항
API를 공개할 때는 인증과 레이트 리밋이 필수입니다. 토큰 기반 인증, IP별 호출 제한, 입력 검증을 빠뜨리면 데이터 손상이나 비용 폭주 위험이 있습니다. AI에게 "이 API에 JWT 인증과 사용자별 분당 60회 레이트 리밋을 추가해줘"처럼 요청하면 보안 기본기가 들어간 코드를 받을 수 있습니다.