Добавить в корзинуПозвонить
Найти в Дзене

Создаём REST API с помощью ИИ: от идеи до деплоя

Раньше на создание API уходили дни: проектирование, написание кода, тесты, документация. Сегодня тот же путь можно пройти за пару часов, если знать, какие ИИ-инструменты подключить к процессу. В этой статье я покажу на реальном примере, как с помощью GitHub Copilot и ChatGPT создать полноценный REST API для блога — от проектирования эндпоинтов до деплоя на сервер. Без магии, только конкретные промпты и рабочие решения. Спойлер: 80% рутинного кода написал ИИ, мне осталось только проверить логику и настроить окружение. Погнали! Сделаем API для простого блога с возможностями: Стек: Перед стартом установите в баше: # Инициализация проекта 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 ИИ-помощники, которые я использовал: Вместо того чтобы вручную расписывать все эндпоинты, я попросил ChatGPT помочь со структурой: Промпт: Создай спецификацию REST API для блога с
Оглавление

Раньше на создание 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

ИИ-помощники, которые я использовал:

  1. GitHub Copilot — автодополнение кода в реальном времени
  2. ChatGPT-4 — генерация сложных промптов и архитектурных решений
  3. 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 (начинаем печатать):

-2

Что происходит: Copilot сразу предлагает продолжить с полями id, email, password и связями с другими моделями. Достаточно нажать Tab.

Полная схема после автодополнения:

-3

Экономия времени: ~15 минут ручного ввода.

Создание сервера: Express + middleware

Здесь Copilot показывает свою силу. Создаём файл src/server.ts:

-4

Лайфхак: Достаточно написать комментарий // Health check endpoint, и Copilot предложит всю реализацию.

Аутентификация: JWT за 5 минут

Самый скучный код — регистрация и логин. Поручим это ИИ:

Промпт для ChatGPT:

Напиши middleware для JWT-аутентификации на Node.js + Express.
Требования:
- Генерация токена при логине (срок жизни 24 часа)
- Middleware для защиты роутов
- Хэширование паролей bcrypt
- Обработка ошибок

Получаем готовый код:

-5
-6

CRUD для постов: полная реализация

Создаём роуты для работы с постами. Copilot снова в деле:

-7
-8
-9

Важно: Не забывайте проверять сгенерированный код! ИИ может пропустить валидацию данных или обработку краевых случаев.

Тестирование: 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
-10

Теперь по адресу /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:

  1. Render.com — бесплатный тариф, подключается к GitHub
  2. Railway.app — $5 кредитов при регистрации
  3. 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
  • Оптимизация запросов к БД

💡 Лайфхаки для работы с ИИ

  1. Будьте конкретны в промптах. Вместо «сделай API» пишите «создай Express роут для GET /posts с пагинацией и сортировкой».
  2. Итеративный подход. Не просите весь код сразу. Сначала структура, потом реализация, потом тесты.
  3. Контекст важен. Давайте ИИ примеры вашего существующего кода, чтобы он придерживался стиля.
  4. Проверяйте безопасность. ИИ может пропустить валидацию входных данных или создать уязвимости.
  5. Используйте несколько инструментов. ChatGPT для архитектуры, Copilot для автодополнения, Cursor для рефакторинга.

А какой AI-инструмент используете вы для разработки? Пишите в комментариях, какие задачи доверяете ИИ, а какие делаете только сами! 👇

Если статья была полезна, ставьте 👍 и подписывайтесь на канал — впереди много практики по AI-разработке!

Читайте также:

Как ИИ помогает писать документацию: реальные примеры

10 готовых промптов для генерации кода на Python

Ошибки новичков при работе с AI-кодом: как не сломать проект