谁能帮助我使用 REST API 显示类别及其子类别?
我试过这个网址:
http://localhost/magento/api/rest/products/:productId/categories
但它显示类别ID而不是我需要的,即这样的:
http://localhost/magento/api/rest/categories
提前致谢。
/api/rest/products/:productId/categories
这应该检索分配给特定产品的类别列表。不幸的是,这不会引导您获得您应得的优雅解决方案。
如果您想要一个类别列表,您可能必须使用soap api来使用catalog_categories.tree 方法检索类别。我意识到“使用其他 api”是最糟糕的答案,但这是 Magento 目前提供的。
另一种方法是用你自己的宁静拼凑来扩展股票 api,但是生命很短。
如果您真的想做这样的事情,那么另一个 Stack Overflow 问题将帮助您入门: Create new magento Rest api to get category list in magento
Magento 1.x API 指南中的代码中确实仍然没有任何内容。
在模块的文件夹结构中可以清楚地看到,Mage_Catalog
代表类别的模型仍然只是产品的子模型,所以它的主要目标仍然是“仅”能够知道特定产品链接到哪些类别。
遗憾的是(最新版本 1.9.2.4 中的第 61 行附近) ,这个类别模型的代码Mage_Catalog_Model_Api2_Product_Category_Rest
看起来与之前的答案没有任何变化:
protected function _retrieveCollection()
{
$return = array();
foreach ($this->_getCategoryIds() as $categoryId) {
$return[] = array('category_id' => $categoryId);
}
return $return;
}
而且我不确定 Magento 是否仍会在 REST API 框架的 1.x 版本上投入任何精力。
尽管Magento 2.x API 列表中列出了这些可用方法似乎有希望:
删除 /V1/categories/:categoryId
GET /V1/categories/:categoryId
POST /V1/categories
GET /V1/categories
PUT /V1/categories/:id
PUT /V1/categories/:categoryId/move
所以在 Magento 2.x 下这绝对是可能的