Можете описать порядок обработки запроса в REST API?
Приветствую!
Я не уверен, что полностью правильно понял внутреннюю организацию самого API. Как происходит обработка запроса (допустим простой CRUD) ?
Я знаю есть API Gateway, роуты, контроллеры, модель данных, бизнес-логика, orm, dto, bff, база данных.
В каком порядке какая часть к чему обращается чтобы обработать запрос?
Также я не понял, модель данных это часть бизнес-логики, или это отдельный слой абстракции?
сделал вот такую вот фигню https://www.npmjs.com/package/msg-router и теперь думаю как дальше в этом модуле правильно развести роуты, контроллеры, модель данных, бизнес-логика, orm, dto и прочее.
1. Обработка запроса происходит в контроллере. Контроллер содержит набор методов, каждый из которых отвечает за обработку запроса того метода (GET, POST, PUT, DELETE) и по тому адресу url, на который он замаплен.
2. Controller (асинхронные запросы, многопоточный код) -> Service (бизнес-логика, желательно однопоточная) -> Repository (DAO, запросы к базе).
3. Модель обычно упоминается в контексте MVC. А MVC - это про фронт, а не про REST.