К публичным запросам можно добавлять параметры, с помощью которых осуществляется фильтр и вывод расширенных данных.
Рассмотрим подробнее запрос public products
Запрос в публичную часть начинается с переменной url, значение которой должно быть реализовано в разделе Globals в Postmen. Значение initial value и curent value переменной url для localhost должно быть равно
http://localhost:8000
Запрос на отображение всех продуктов выглядит так:
{{url}}/api/public/products
На данный GET запрос бэкенд ответит списком продуктов, которые находятся в массиве data. По умолчанию, бэкенд возвращает только name, description и small_description каждого товара:
{ "data": [ { "id": 1, "name": "другое слово", "description": null, "small_description": "test small description" }, { "id": 2, "name": "test", "description": null, "small_description": "test small description" } ], "collection": "public products" }
К ответу бэкенда с помощью соответствующих запросов можно добавить дополнительные данные.
Например, запрос
{{url}}/api/public/products?price=true&pictures=true&catalogs=true&companies=true
уже вернет более полный массив данных:
{ "data": [ { "id": 1, "name": "другое слово", "description": null, "small_description": "test small description", "price": "test", "pictures": [ "http://localhost:8000/storage/1/1665560445587.jpeg" ], "catalogs": [ { "id": 1, "name": "Яблоки", "created_at": "2022-09-14T16:21:01.000000Z" }, { "id": 3, "name": "Груши", "created_at": "2022-09-14T17:00:02.000000Z" } ], "companies": [ { "id": 2, "name": "PWT Solutions", "description": "Разработка сайтов", "small_description": null, "logo": null, "status": null, "link": null }, { "id": 1, "name": "Обновленное название компании", "description": "Описание компании полное", "small_description": null, "logo": null, "status": null, "link": null } ] }, { "id": 2, "name": "test", "description": null, "small_description": "test small description", "price": "test", "pictures": [], "catalogs": [], "companies": [] } ], "collection": "public products" }
Для фильтрации данных products тоже имеются соответстующие запросы.
Например, чтобы получить продукты компании PWT, необходимо выполнить следующий запрос:
{{url}}/api/public/products?company=PWT
Чтобы получить продукты в диапазоне цен от 100 до 200 у.е., можно воспользоваться таким запросом:
{{url}}/api/public/products?price_min=100&price_max=200
Чтобы получить список продуктов в названии которых присутствует слово phone, можно воспользоваться таким запросом:
{{url}}/api/public/products?name=phone
Чтобы получить полную информацию об одном продукте, необходимо выполнить запрос:
{{url}}/api/public/product/1
Тогда последним значением необходимо передать id продукта.