Я создаю REST API в Laravel, и есть одна вещь, которую я не могу понять. Ситуация следующая; пользователь может входить в систему, просматривать статьи и делать их избранными.
Любимая таблица состоит из article_id
и user_id
Запросы оформляются следующим образом:
[GET]
/ article / 24 просмотреть статью 24[GET]
/ article / 24 / favourite указывает на избранное, если не возвращает 404[POST]
/ article / 24 / favourite добавить в избранное[DELETE]
/ article / 24 / избранное удалить из избранного
Вроде бы нормально, но вложенные ресурсы по умолчанию ожидают следующего формата:
/controller/[id]/sub_controller/[sub_id]
Как лучше всего избежать этого требования sub id? Мне не нужен идентификатор избранного, потому что комбинации идентификатора статьи и идентификатора пользователя достаточно, чтобы найти элемент в моей базе данных.
Это мои текущие маршруты для запросов:
Route::resource('articles', 'ArticlesController',
array('only' => array('index','store','show','destroy')));
Route::resource('articles.favorite', 'ArticlesFavoriteController',
array('only' => array('show','store','destroy')));
В настоящее время я требую, чтобы пользователь API добавил / 0 к URL-адресу, чтобы активировать правильный маршрут, но должен быть способ лучше.