Насколько эффективна REST-full архитектура для приложений с мультимедийным контентом? Например, видео-хостинг YouTube или хостинг изображений. При использовании REST-full запросов, на сколько я понимаю, вся информация хранится в БД и привязывается к модели @Entity То есть даже видео и файлы изображений, которые загружаются на сервер, в случае с REST-full хранятся в базе данных, а не где-то в папке или на диске...
Напрашивается логичный вопрос: Насколько эффективна такая архитектура, и стоит ли она отдельного внимания?
Дмитрий Беляев, я сам придумал... Если вы парсите запрос, то это уже не REST-full. Применение различных типов хранилищ, является характерной чертой NoSQL
My1Name, А как можно не парсить запрос? Вот вы тело передаёте в JSON, например, чтобы извлечь данные, приходится парсить JSON. Значит ли это, что в REST запросах нельзя использовать JSON?
Василий Дёмин, я наверно не совсем правильно поставил вопрос... Более правильно: В каких случаях REST-full архитектура эффективна? - На мой взгляд, это только статические сайты, подобие таблиц или баз данных, медиаконтент которых не обновляется, или обновляется очень редко.
My1Name, вы не правы, как уже сказали выше, у вас весь контент хранится в папках на сервере. В БД вы храните только пути к ним (ну может еще какие-то модификаторы доступа). REST реализует CRUD, тот самый, который вы так или иначе будете использовать (получить видео, удалить видео, обновить и т.д). Так что в этом случае это просто подход, и он достаточно эффективен и удобен
Mors Clamor, Если вы парсите запрос, то нарушается атомарность и, это уже не REST-full. REST (без full)- это обобщение GET и POST запросов. Тогда как REST-full делает референс: модель <--> база данных.
My1Name, restful - это исключительно про стиль, а не про реализацию.
Всё зависит от того, как ты нарежешь свою предметную область на этот самый state transfer.
Некоторые операции, соглашусь, сложно как state transfer представить так, чтобы это было эффективно.
Но передача картинок или видео в этот набор не входит.
Если вы парсите запрос, то нарушается атомарность и, это уже не REST-full
Нет, не логично. Впервые такую трактовку слышу за время работы в нескольких компаниях в сумме с несколькими десятками (а может сотнями коллег), не говоря уже о том что статья, которую вы упомянули, была написана больше десятка лет назад и достаточно сильно устарела. В комментариях даже неиронично думают как с XML работать.
Сергей Горностаев почему все возмущённые комментаторы называют REST — REST-full(restful) ? Если говорить о REST как о стилях, как написал выше Василий Банников, то всё это можно назвать - полное безразличие...
Василий Банников, учитывая мой предыдущий комментарий в ответ Сергей Горностаев, могу предположить, что все ваши приложения работают на вашей самоуверенности...
а при чём тут жава вообще?
- Хороший вопрос :) Сущности в JPA (смотри основы - ООП) базируются на аннотациях (эдакая валиадация форм). В случае с REST и REST-full меняется форма и доступ к POJO, а вместе с тем - технологии транспорта данных на уровне приложения.
p.s. Кто-то из модераторов удалил тег SPRING. Однако, этот вопрос имеет прямое отношение к Java.
При использовании REST-full запросов, на сколько я понимаю, вся информация хранится в БД и привязывается к модели @Entity
Нет. REST-это исключительно про интерфейс, а что там под капотом - не важно.
То есть даже видео и файлы изображений, которые загружаются на сервер, в случае с REST-full хранятся в базе данных, а не где-то в папке или на диске...
Эффективна для чего/в чем? Определитесь для начала с критериями. А так - она достаточно эффективна при решении тех задач, для которых она предназначена.