10

谁能帮助我使用 REST API 显示类别及其子类别?

我试过这个网址:

http://localhost/magento/api/rest/products/:productId/categories

但它显示类别ID而不是我需要的,即这样的:

http://localhost/magento/api/rest/categories

提前致谢。

4

2 回答 2

10
/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

于 2013-10-24T20:35:52.550 回答
6

Magento 1.x API 指南中的代码中确实仍然没有任何内容。

在模块的文件夹结构中可以清楚地看到,Mage_Catalog代表类别的模型仍然只是产品的子模型,所以它的主要目标仍然是“仅”能够知道特定产品链接到哪些类别。

REST API 模型的 Magento 文件夹结构

遗憾的是(最新版本 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 下这绝对是可能的

于 2016-04-06T19:49:19.120 回答