Пейджер

🌍 Привет мир! 👋

🌍 Привет мир! 👋

Новый год прошел, салаты съедены, начинаем работать. Недавно узнал про интересный инструмент PostgREST и спешу поделиться. Для привлечения вас к теме могу сказать, что образ сервера скачали 36M для использования в докере.

🚀 Мотивация

PostgREST - это веб-сервер, который превращает PostgreSQL в RESTful API.

Что это означает

Вы можете совершать CRUD операции напрямую в базу без написания backend под эти задачи, и как следствие можно сосредоточиться на написании frontend и реализации бизнес-логики.

План по внедрению

Один из простейших вариантов, это развернуть структуру через докер. Необходимо создать docker-compose.yml, в котором будут образы:

📌 PostgREST

📌 Postgres

📌 Swagger (опционально) - можно прокинуть переменную environment API_URL и получить готовые ручки от PostgREST на основании существующих таблиц в базе данных.

📌 Pgadmin (опционально) - UI для работы с БД

Как выглядит запрос

Это обычный запрос прям как за данными на backend
 curl -X GET "http://localhost:3000/users?limit=5&select=name,email"


curl -X DELETE "http://localhost:3000/users?name=like.”Ilya*"


curl "http://localhost:3000/users" \ 
    -X POST -H "Content-Type: application/json" \ 
    -d \ 
   '{ 
        "name": "test", 
        "email": "test@mail.ru" 
    }'


➕ Какие плюсы?

💡 Быстро разрабатывается API без необходимости backend.
💡 Простые SQL запросы для создания API
💡 Автоматическая генерация документации на основе схемы базы данных.
💡 Не нужно использовать ORM
💡 Поддержка аутентификации и авторизации на уровне базы данных

Какие минусы?

💡 Если вы frontend разработчик, то при таком подходе вам нужны знания в SQL.
💡 Изменения в структуре базы данных могут потребовать изменений в API.
💡 Подходит для простых CRUD-операций, но сложная бизнес-логика может быть трудной для реализации без дополнительных слоев

💬 Делитесь своим мнением в комментариях👇! Если вам понравилась статья, не забудьте поставить лайк! 👍

#PostgreSQL
Медиа 1
Хотите больше таких постов?
Подпишитесь на канал и читайте продолжение в Telegram.
Подписаться на @ivanchikovitclub Открыть пост в Telegram