Раньше на создание API уходили дни: проектирование, написание кода, тесты, документация. Сегодня тот же путь можно пройти за пару часов, если знать, какие ИИ-инструменты подключить к процессу.
В этой статье я покажу на реальном примере, как с помощью GitHub Copilot и ChatGPT создать полноценный REST API для блога — от проектирования эндпоинтов до деплоя на сервер. Без магии, только конкретные промпты и рабочие решения.
Спойлер: 80% рутинного кода написал ИИ, мне осталось только проверить логику и настроить окружение. Погнали!
Что будем создавать
Сделаем API для простого блога с возможностями:
- Создание, чтение, обновление и удаление постов (CRUD)
- Комментарии к постам
- JWT-аутентификация
- Автоматическая документация через Swagger
Стек:
- Node.js + Express
- PostgreSQL
- Prisma ORM
- JSON Web Tokens
Инструментарий: что понадобится
Перед стартом установите в баше:
# Инициализация проекта
npm init -y
npm install express prisma @prisma/client jsonwebtoken bcrypt cors dotenv
npm install --save-dev @types/express @types/jsonwebtoken @types/bcrypt typescript ts-node
ИИ-помощники, которые я использовал:
- GitHub Copilot — автодополнение кода в реальном времени
- ChatGPT-4 — генерация сложных промптов и архитектурных решений
- Cursor — AI-редактор кода (альтернатива VS Code + Copilot)
Проектируем API с помощью ИИ
Вместо того чтобы вручную расписывать все эндпоинты, я попросил ChatGPT помочь со структурой:
Промпт:
Создай спецификацию REST API для блога с сущностями:
- Post (id, title, content, authorId, createdAt, updatedAt)
- Comment (id, content, postId, authorId, createdAt)
- User (id, email, passwordHash, name)
Укажи HTTP-методы, пути, запросы и ответы для всех CRUD-операций.
Добавь эндпоинты для регистрации и аутентификации.
Результат: Через 30 секунд получил полную спецификацию с 12 эндпоинтами. Осталось только реализовать.
Генерация кода: Prisma Schema
Вместо ручного написания схемы БД, используем ИИ:
Промпт для Copilot (начинаем печатать):
Что происходит: Copilot сразу предлагает продолжить с полями id, email, password и связями с другими моделями. Достаточно нажать Tab.
Полная схема после автодополнения:
Экономия времени: ~15 минут ручного ввода.
Создание сервера: Express + middleware
Здесь Copilot показывает свою силу. Создаём файл src/server.ts:
Лайфхак: Достаточно написать комментарий // Health check endpoint, и Copilot предложит всю реализацию.
Аутентификация: JWT за 5 минут
Самый скучный код — регистрация и логин. Поручим это ИИ:
Промпт для ChatGPT:
Напиши middleware для JWT-аутентификации на Node.js + Express.
Требования:
- Генерация токена при логине (срок жизни 24 часа)
- Middleware для защиты роутов
- Хэширование паролей bcrypt
- Обработка ошибок
Получаем готовый код:
CRUD для постов: полная реализация
Создаём роуты для работы с постами. Copilot снова в деле:
Важно: Не забывайте проверять сгенерированный код! ИИ может пропустить валидацию данных или обработку краевых случаев.
Тестирование: Postman + AI
Вместо ручного создания коллекций в Postman, используем ИИ:
Промпт:
Создай коллекцию Postman для тестирования Blog API с эндпоинтами:
- POST /auth/register
- POST /auth/login
- GET /posts
- POST /posts (с авторизацией)
- GET /posts/:id
- PUT /posts/:id
- DELETE /posts/:id
Для каждого запроса укажи примеры body, headers и ожидаемые ответы.
Получаем готовый JSON для импорта в Postman. Экономия: 20-30 минут.
Альтернатива: Используйте Thunder Client (расширение для VS Code) — он быстрее для простых тестов.
Автоматическая документация: Swagger
Ручное написание документации — боль. Автоматизируем:
npm install swagger-ui-express swagger-jsdoc
Теперь по адресу /api-docs доступна интерактивная документация.
Деплой: от локалки до продакшена
Вариант 1: Docker (рекомендую)
Создаём Dockerfile с помощью ИИ:
Промпт:
Создай Dockerfile для Node.js + Express + Prisma приложения.
Используй multi-stage build для оптимизации размера образа.
# Build stage
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npx prisma generate
RUN npm run build
# Production stage
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder /app/prisma ./prisma
EXPOSE 3000
CMD ["node", "dist/server.js"]
Вариант 2: Vercel / Render / Railway
Для быстрого деплоя без Docker:
- Render.com — бесплатный тариф, подключается к GitHub
- Railway.app — $5 кредитов при регистрации
- Vercel — лучше для serverless, но тоже работает
Чек-лист перед деплоем:
- Переменные окружения вынесены в .env
- .env добавлен в .gitignore
- База данных настроена (PostgreSQL на Railway/Render)
- Prisma миграции применены: npx prisma migrate deploy
- Health check endpoint работает
Итоги: что получилось
Время разработки:
- Без ИИ: ~8-12 часов
- С ИИ: ~2.5 часа
- Экономия: 70-80% времени
Что ИИ сделал отлично:
- Шаблоны CRUD-операций
- Стандартная аутентификация
- Конфигурация Docker и Swagger
- Генерация тестовых данных
Где нужен был человек:
- Архитектурные решения
- Валидация бизнес-логики
- Обработка ошибок и edge cases
- Оптимизация запросов к БД
💡 Лайфхаки для работы с ИИ
- Будьте конкретны в промптах. Вместо «сделай API» пишите «создай Express роут для GET /posts с пагинацией и сортировкой».
- Итеративный подход. Не просите весь код сразу. Сначала структура, потом реализация, потом тесты.
- Контекст важен. Давайте ИИ примеры вашего существующего кода, чтобы он придерживался стиля.
- Проверяйте безопасность. ИИ может пропустить валидацию входных данных или создать уязвимости.
- Используйте несколько инструментов. ChatGPT для архитектуры, Copilot для автодополнения, Cursor для рефакторинга.
А какой AI-инструмент используете вы для разработки? Пишите в комментариях, какие задачи доверяете ИИ, а какие делаете только сами! 👇
Если статья была полезна, ставьте 👍 и подписывайтесь на канал — впереди много практики по AI-разработке!
Читайте также:
Как ИИ помогает писать документацию: реальные примеры
10 готовых промптов для генерации кода на Python
Ошибки новичков при работе с AI-кодом: как не сломать проект