rest - 如何在不包括祖 parent 的情况下获得产品所属的类别?

标签 rest magento magento2

我正在尝试从 Magento 2 REST API 获取所有产品的列表以及产品所属的类别(我想在另一个应用程序中构建 TreeView )。

我可以查询所有 SKU,然后一个一个地运行 SKU,但这需要很长时间,我宁愿进行 1 个 API 调用并一次性获取所有产品/类别关系。

如果我一次查询所有 SKU,我不会获得显示商品所属类别的 category_ids 属性。

获取:http://someurl/rest/V1/products?searchCriteria=

// e.g. this is missing when querying for multiple SKUs
{
    "attribute_code": "category_ids",
    "value": [
        "557"
    ]
},

如果我改用类别 API,它会给我属于当前类别下的子类别的产品,这是我不想要的。

获取:http://someurl/rest/V1/categories/555/products

// e.g. the below aren't leaf-level on category 555, they live in a subcategory
[
    {
        "sku": "BC000018",
        "position": 1,
        "category_id": "555"
    },
    {
        "sku": "BC000022",
        "position": 1,
        "category_id": "555"
    },
    {
        "sku": "BC000023",
        "position": 1,
        "category_id": "555"
    },
// and so on

有没有什么方法可以在检查类别时仅查询叶级项目,或者有什么方法可以在使用产品 API 时包含详细属性?

最佳答案

要实现您正在寻找的东西 - 您需要构建一个自定义的产品搜索/产品详细信息 API,它返回一个 JSON 结果集,其中包含所有相关的数据点(例如:产品分配的所有类别的列表到)

我的 2 美分:

您可能需要考虑在 Product Details API 响应中添加额外数据,而不是添加到 Product Search API 的“Product Node”中。

这是为什么?

可能需要额外的 SQL 查询来获取您要添加到产品 JSON 中的额外信息。

例如:category - product 映射存储在 catalog_category_product 表中,需要至少 1 个额外的 SQL 查询。

根据您的目录大小和/或类别定义,这个额外的查询可能会增加(最佳情况)每行 0.01 秒 - 0.5 秒(在复杂/未优化的表连接的情况下)要处理。

如果您有一个包含 100 种产品的目录 - 这意味着需要额外 1 - 5 秒来执行 Product Search API。 . . . 如果您有一个包含 1000 种产品的目录 - 这意味着需要额外 10 - 50 秒来执行 Product Search API。 . . . 如果您的目录包含 10,000 种产品 - 这意味着需要额外 100 - 500 秒来执行 Product Search API。 . . .

你明白了! :)

祝你好运!

关于rest - 如何在不包括祖 parent 的情况下获得产品所属的类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48344111/

相关文章:

rest - ExtJS5:摆脱代理中的根属性

java - Jersey 多方返回 NoClassDefFoundError : org/glassfish/jersey/internal/inject/ExtractorException

magento - 我需要在 magento enterprise 中创建一个新包吗?

magento - Magento 中历史记录.phtml 上的自定义状态

mysql - Magento:根据价格更改类别中的产品位置

javascript - 删除 Magento 2 中的默认产品库

rest - 什么时候以及为什么我应该使用403错误代码?

session - OAuth 2.0。没有 session ? (无国籍)

performance - 更改较少文件后,Magento 2 加载速度非常慢

Magento2-如何将自定义数据从报价复制到订单和订单项目