2016-04-15 2 views
0

Я нахожусь на Mangento 2.0.3 CE, и я пытаюсь вызвать API REST /search.Magento2 REST Поиск «Запрос не существует»

С этой просьбой:

/rest/V1/search?searchCriteria[requestName]=quick_search_container&searchCriteria[filterGroups][0][filters][0][field]=name&searchCriteria[filterGroups][0][filters][0][value]=%test%&searchCriteria[filterGroups][0][filters][0][condition_type]=like 

Я получаю эту ошибку:

{ 
    "message": "Query quick_search_container does not exist", 
    "trace": "#0 vendor/magento/framework/Search/Request/Mapper.php(94): Magento\\Framework\\Search\\Request\\Mapper->mapQuery('quick_search_co...')\n#1 vendor/magento/framework/Search/Request/Builder.php(183): Magento\\Framework\\Search\\Request\\Mapper->getRootQuery()\n#2 vendor/magento/framework/Search/Request/Builder.php(141): Magento\\Framework\\Search\\Request\\Builder->convert(Array)\n#3 vendor/magento/framework/Search/Search.php(71): Magento\\Framework\\Search\\Request\\Builder->create()\n#4 [internal function]: Magento\\Framework\\Search\\Search->search(Object(Magento\\Framework\\Api\\Search\\SearchCriteria))\n#5 vendor/magento/module-webapi/Controller/Rest.php(265): call_user_func_array(Array, Array)\n#6 vendor/magento/module-webapi/Controller/Rest.php(160): Magento\\Webapi\\Controller\\Rest->processApiRequest()\n#7 var/generation/Magento/Webapi/Controller/Rest/Interceptor.php(24): Magento\\Webapi\\Controller\\Rest->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#8 vendor/magento/framework/App/Http.php(115): Magento\\Webapi\\Controller\\Rest\\Interceptor->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#9 vendor/magento/framework/App/Bootstrap.php(258): Magento\\Framework\\App\\Http->launch()\n#10 index.php(39): Magento\\Framework\\App\\Bootstrap->run(Object(Magento\\Framework\\App\\Http))\n#11 {main}" 
} 

Если удалить search?searchCriteria[requestName]=quick_search_container из запроса я получаю эту ошибку Request name not defined.

У меня есть одна категория «CatTest «набор и один простой продукт« ProdTest », который должен появиться в результате.

Кто-нибудь знает, как устранить эту ошибку?

[EDIT]

После того, как рыть немного больше я обнаружил, что в классе vendor/magento/framework/Search/Request/Builder.php l.137, метод clean whipout $data вар. Который тогда провокал данное исключение.

ответ

0

На самом деле проблема возникла по моей просьбе, которая была неправильной.

Для поиска API правильный запрос (будет преобразован в запрос GET):

{ 
    "searchCriteria" : { 
     "requestName": "quick_search_container", 
     "filterGroups": [ 
      { 
       "filters": [ 
        { 
         "field": "search_term", 
         "value": "*" 
        } 
       ] 
      } 
     ], 
     "current_page": 1, 
     "page_size": 20 
    } 
} 
Смежные вопросы