ApiNodeJs — небольшой HTTP?сервис на Express для сохранения и получения JSON?документов в Supabase. Сервис принимает произвольный JSON, сохраняет его в таблицу jsons_tb, генерирует короткий идентификатор длиной 6 символов и позволяет получать сохранённый JSON по этому идентификатору. Одновременно раздаётся статический контент из папки assets и HTML?страница index.html по корневому маршруту.
- Генерация короткого id (6 символов,
nanoid). - Сохранение JSON в Supabase.
- Получение JSON по id.
- CORS включён по умолчанию.
Возвращает index.html.
Возвращает ошибку 400 с сообщением empty id.
Возвращает сохранённый JSON по id. Если длина id не 6 символов — 400 (incorrect id). Если объект не найден — 404 (not object).
Сохраняет JSON в Supabase и возвращает status и сгенерированный id. Если тело отсутствует — 400 (no body). Если тело не JSON или пустой объект — 400.
Пример:
curl -X POST http://localhost:3000/generate \
-H "Content-Type: application/json" \
-d '{"hello":"world"}'Ответ:
{ "status": 201, "id": "a1B2c3" }Получение:
curl http://localhost:3000/get/a1B2c3Node.js 16+.
Проект Supabase с таблицей jsons_tb.
Колонка id (text/varchar, уникальное значение).
Колонка data (json/jsonb).
- Установите зависимости.
npm install- Скопируйте файл
.env.exampleв.envи укажите ключи.
SUPABASE_URL="..."
SUPABASE_KEY="..."node express.jsСервер стартует на http://localhost:3000.
express.js — HTTP?сервер и маршруты API.
supabase.js — интеграция с Supabase.
generatorId.js — генерация коротких id.
assets/ — статика.
index.html — главная страница.