Задача такая, организовать REST-полное API. Опишу пример с GET запросомами: /api/users - вернуть всех пользователей /api/users/20 - вернуть юзера с id = 20 /api/users/20/messages - вернуть все отправленные сообщения пользователя с id 20. Очевидно, что users - сущность (запись в таблице User), id - его id, message - сущность-отношение. Метод GET только возвращает данные. Аналогично с другими HTTP-запросами: POST - создание PUT - изменение DELETE - удаление Есть ещё пару особенных запросов: /api/login /api/logout /api/reg (регистрация) Может ещё добавятся. Сейчас имеется Router, который парсит url по следующему правилу: /{controller}/{action}/{alias} - стандартный MVC. Как грамотно организовать API в рамках MVC, что является контроллером, что действием? Проблема именно с учётом особенных запросов (login..). Может у кого-то был подобный опыт, мне было бы полезно услышать выше мнение.
Перепиши свой или возьми готовый роутер, который позволяет разным типам запросов задавать разные обработчики. Вот так это к примеру в Laravel выглядит: PHP: Route::get("/api/users/{id}", "User@getUserData"); Route::post("/api/users/{id}", "User@updateUserData");