Подскажите, как вы организовываете сервисный слой в REST API?
Так как во главе REST API на Yii стоит ActiveRecord, котороя принимает данные, валидирует, сохраняет и выступает в роли ресурса, то что в этой ситуации должен делать сервис?
Сервисный слой в REST API
Re: Сервисный слой в REST API
Поэтому и разделяют на части по ответственностям. Чтобы принимала и валидировала модель ввода, юзкейсы реализоаали прикладные сераисы, заполнялась и сохранялась ActiveRecord, ресурсом выступали ресурсы-сериализаторы.
Re: Сервисный слой в REST API
А какие обязанности должны быть возложены на сервис? Получается, что в большинстве REST-методов он будет просто получать реквест, валидировать, записывать данные в AR и сохранять ее. Т.е. выходит, что мы будем копировать сервис из метода в метод?
Может найдется пример связки Контроллер -> Сервис -> Ресурс ?
Если правильно понимаю, то в контроллере должно быть примерно следующее, или это обязанность контроллера валидировать реквест?
Код: Выделить всё
public function actionCreate()
{
$request = ArticleCreateRequest::createAndLoad($data);
$this->createArticleService->execute($request);
return ArticleResource($this->createArticleService->getResult());
}