Соглашение о маршруте / API - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть веб-страница, где у меня есть продукты и категории продуктов, у меня есть много страниц для отображения данных, например, где я показываю продукты, принадлежащие к категории, я ломаю голову над тем, как к этому подойти.

//Uses ProductController, shows products
Route::get('/products/category/{id}', 'Web\ProductController@productsCategoryId');

//Uses ProductCategoryController, shows products too
Route::get('/product-category/{id}/products','Web\ProductCategoryController@productCategoriesIdProducts');

У меня есть два маршрута, которые показывают одни и те же данные, оба показывают продукты, принадлежащие к категории, мое сердце говорит мне, что я должен go для первого в ProductController, так как я ВСЕГДА показываю продукты, продукты - основной игрок сам по себе, но я также видел второй используемый шаблон маршрута, затем я подумал о третьем варианте.

Как насчет того, чтобы забыть о подробных маршрутах и ​​использовать параметры запроса:

/products?category=1

Boom, afaik, если я сделаю это, в моем контроллере будет одна точка входа, и из этого метода, в зависимости от параметров запроса, я покажу разные страницы, index.blade, show.blade, category.blade.

Использование запроса параметры заставляют меня понимать / читать URL лучше, но я беспокоюсь о том, чтобы иметь один метод с кучей условных операторов это способ go об этом ...

Я открыт для всевозможных предложений.

1 Ответ

0 голосов
/ 21 апреля 2020

Попробуйте это

Route::get('/products/category/{id}?category', 'Web\ProductController@productsCategoryId');
category=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...