У меня есть существующее приложение, которое было построено на Yii Framework для управления винных погребов. Я использовал стандартную утилиту Gii для создания исходных CRUD-контроллеров/моделей/представлений. Я значительно изменил код для удовлетворения моих потребностей в навигации, посмотрите & ощущение и функциональность. Теперь я начинаю разработку сопутствующего мобильного (Android) приложения, которое нужно будет потреблять и создавать некоторые данные (получить список вин в моем подвале - GET, добавить новое вино в подвал - POST), который может быть использованным во время покупок/дегустации вин. Я не собираюсь раскрывать все модели/параметры контроллера в качестве веб-служб, а только определенный набор функций.Yii - Добавление RESTFull API к webapp
Мой вопрос действительно проблема с дизайном. Должен ли я добавлять методы API к существующим контроллерам CRUD или я должен создать новый «API-контроллер» для каждой из моделей (или один apiController - это еще один вариант, который я видел)? Мое мышление - отдельные контроллеры API. Это позволило бы мне быстрее обновить/развернуть конкретные изменения API и логически разделить этот интерфейс. Этот API должен быть аутентифицирован, и я, вероятно, буду реализовывать OAuth в будущей версии.
BTW, я просмотрел расширение RESTFullYii, и я не смог точно понять, как он работает. Мне бы очень хотелось увидеть пример рабочего приложения, а не только фрагменты кода.
Мне очень нравится предложение использовать модуль. URI более точно соответствует истинному формату REST и реализации. И я думаю, что я могу обновить UrlManager, чтобы удалить «index.php» и получить его до http://example.com/api/wine/add. Это также позволяет мне обновлять api, если мне нужно, просто сопоставляя с примером http: //.com/api/v2/wine/add (с отображением по умолчанию для самой последней версии, если оно не находится в URI. – JimK