В разработке сайта используется Yii2, в процессе создание api для приложения стало первостепенной задачей.
Вопрос заключается в том, используется ли в серьезных проектах подход использования апи не только для сторонних приложений, но и для самого сайта?
Представим, что на сайт представляет из себя блог. Насколько костыльно будет при заполнении формы нового поста пересылать данные на 'домен/апи/новый_пост' и обрабатывать их через апи?
Интересует меня это в целях уменьшения количества повторяющего кода в виде проверок ввода пользователя, заполнения полей, требующих данные, которые нельзя получить из форм и т.д.
Максим Федоров,
Я пока еще зеленый в этом вопросе :)
У меня возник такой вопрос, потому что в доках Yii2 обработка запроса начинается в контроллере, проходит валидацию через модель и записывается в бд
А так как мне еще нужно и апи, которое я через контроллер реализовать не могу, мне пришлось бы повторять код (проверку введенных данных) и в апи и в контроллере Yii
Я советую api делать в виде модуля. А общий код у вас сам собой появится если вы приложение на слои поделите. Родные модели yii уедут в инфраструктурный слой, а все процессы будут через доменные сервисы/модели осуществляться.
Если сайт изначально проектируется как одностраничное приложение, то никаких других адекватных альтернатив нет, как сделать api для бэкенда. Ну, да, JS на браузере будет просто восприниматься как еще один вариант фронтенд приложения для сервиса.