Точь в точь ли маппятся поля json-сущности на поля в таблицах базы данных?
Опишу проблему: я не совсем понимаю связь между json-сущностями которые отгружаются rest-методом и таблицами в базе данных.
Вот говорят: в rest-api сущность отгружается полностью. Окей. Дергаем Postman'ом get-запрос (или DevTools -> Network -> XHR) и смотрим данные. Приходят объекты где есть ключ и значение. Каждый ли ключ обязательно должен маппится с полем в какой-то таблице?
Казалось бы - да? Сразу отмечу: тип данных jsonb в бд не рассматриваю - я знаю, что можно json запихнуть хоть в одно поле. Это частный случай. У меня вопрос про общую практику. Итак, казалось бы - да. Один ключ-поле = одно поле в бд. Но ведь это же не безопасно. Так любой может открыть devtools и посмотреть что отгружается и прикинуть как устроена база данных.
И реальная ситуация, которую я вижу, она иная. Я открываю таблицу и вижу там много разных полей. А в сущности, которая отгрузилась, данных меньше. При этом в этой таблице есть значения из json-сущности: вот uuid, вот текстовка, вот дата, вот статус с булевым типом...
Моя гипотеза следующая:
Json-сущность отгружающаяся через Postman или devtools не равна сущности в базе данных. Это означает что не все поля в json-сущности маппятся на соответствующие им поля в таблицах в бд.
Так что же тогда нужно понимать под фразой "сущность отгружается полностью"?
То же самое и с post/put/patch запросами. Передаем несколько параметров, но обновлений в базе существенно больше. Вот говорят: put обновляет сущность целиком. А кто-то говорит: put обновляет таблицы в бд целиком. Что есть правда?
Мне все это надо чтобы лучше понимать rest-api интерфейс. Я вижу методы в Swagger, вижу передаваемые в них поля и значения, но в базе данных вижу что нет маппинга каких-то полей.
Понимаю, в идеале, чтобы понять, мне надо самому запрограммировать тестовый rest api интерфейс и настроить запись и чтение в бд. Тогда сразу все в голове встанет на свои места. Но я не умею программировать rest-интерфейсы.
На всякий случай отмечу: я знаю, что "одна таблица не равно одна сущность". Сущность может быть раскидана по нескольким таблицам. Мой вопрос больше про маппинг полей в json-объектах отгружаемых Postman/Devtools и полями в таблицах бд.
alexalexes, главное, она отлично передаёт мои собственные ощущения! Кажется что вот-вот, ещё чуть чуть, и всё встанет на свои места! А получается наоборот, только хуже и хуже )))