#rest #cqrs
#rest #cqrs
Вопрос:
Я знаю шаблон CQRS, в котором запрос используется для чтения данных, а команда используется для обновления данных.
В особом случае, когда rest api является POST, но не обновляет данные напрямую, а вызывает внешний POST api другой системы и передает детали.
В таком случае какой из них имеет значение true — использовать запрос или команду?
* Обновить *
Система включает в себя несколько БД. Однако необязательно использовать другую базу данных для запроса и команды
Комментарии:
1. СООБЩЕНИЕ не обязательно подразумевает команду. Некоторые шаблоны связи (например, SOAP, JSONRPC, …) работают только с использованием POST, и они могут не включать команды, а только чтение данных. Ответ на этот вопрос основан на мнении imho
2. @rkosegi не должен использовать post только для создания данных с помощью rest api design? Этот вопрос строго для rest API
Ответ №1:
Очень просто. Если вы точно знаете, что вызов не обновит или не изменит состояние или данные, то это запрос, если это произойдет (или может произойти), то это команда.
Однако CQRS часто больше относится к физической структуре вашей системы. У вас могут быть отдельные базы данных команд и запросов… и это усложняет ответ. Он может иметь как логические, так и физические аспекты.
Комментарии:
1. Спасибо @erik за ваш ответ. Поскольку это post, следует обновить данные, но с помощью какого-либо другого внешнего вызова api. Я перемещу его как команду.
2. у нас есть отдельная база данных для нескольких конечных систем, но не совсем для разных запросов и команд