Magento REST API - Как определить базовый URL API? - PullRequest
0 голосов
/ 09 июня 2019

Я использую Magento 2.2.5, и у меня возникли проблемы с определением URL-адреса для выполнения запросов API. Например, чтобы получить список стран, я видел следующий синтаксис:

/rest/default/V1/directory/countries

, который работал в некоторых магазинах, но я получал эту ошибку:

{
"message" : "Specified request cannot be processed.",
"trace" : null
}

Я начал играть с форматом URL, убрал «default» и использовал вместо этого:

/rest/V1/directory/countries

и запросы были успешными. Как определить, какой базовый URL использовать для запросов Magento REST API? До сих пор я не смог найти это документально.

1 Ответ

2 голосов
/ 09 июня 2019

Синтаксис Magento 2 Api:

http://<:host:>/rest/<:store_code:>/<:api_path:>

Здесь store_code может быть любым из «представлений магазина» вашего экземпляра Magento2.Вы можете получить код магазина в админ-панели.Вы можете использовать store_code для получения информации, относящейся к этому представлению магазина, через API.По умолчанию установка Magento2 идет с 1 веб-сайтом, 1 магазином и 1 магазином (это представление магазина имеет код " default ", в вашем случае это могло измениться, поэтому вы получаете ошибку).

Архитектуру можно понять с помощью изображения Справочное изображение Ссылка: https://docs.magento.com/m2/ce/user_guide/stores/websites-stores-views.html

  • При указании store_code этопроверяет информацию для этого конкретного Store-View.Если указанное store_code не найдено в базе данных, Api возвращает «Указанный запрос не может быть обработан». сообщение.

  • Если вы не укажете store_code сначала находит значение по умолчанию веб-сайт , затем находит значение по умолчанию Store для этого веб-сайта и затем находит значение по умолчанию View магазина , связанное с этим магазином.И, наконец, он возвращает информацию для этого магазина по умолчанию.Ассоциация магазина и магазина по умолчанию может быть изменена с панели администратора. Эталонное изображение

Следовательно, URL-адрес для API должен быть указан ниже, если вам нужно хранить конкретную информацию.store_code можно установить на all, если вам нужна информация для всех магазинов.

http://<:host:>/rest/<:store_code:>/<:api_path:>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...