如何通过 Simple Product Magento 2 rest API 进行配置

How get configurable by Simple Product Magento 2 rest API

问题很简单,如何通过 REST API Magento 2 通过简单产品获得可配置产品?

我正在使用以下调用来获取简单产品:

http://127.0.0.1/magento2/index.php/rest/V1/products/prdConfig-RED

谢谢

我创建了一个新模块,它接受子产品 ID 作为参数,returns 父产品 ID 和名称、缩略图等其他属性....

registeration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'WebAPI_GetParentProductThumbnail',
    __DIR__
);

etc/module.xml

<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="WebAPI_GetParentProductThumbnail" setup_version="1.0.0"/>
</config>

etc/di.xml

<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="WebAPI\GetParentProductThumbnail\Api\ChildThumbnailManagementInterface" type="WebAPI\GetParentProductThumbnail\Model\ChildThumbnailManagement"/>
</config>

etc/webapi.xml

<?xml version="1.0" ?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
    <route method="GET" url="/V1/webapi-getparentproductthumbnail/childthumbnail">
        <service class="WebAPI\GetParentProductThumbnail\Api\ChildThumbnailManagementInterface" method="getChildThumbnail"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
</routes>

Api/ChildThumbnailManagementInterface.php

<?php

namespace WebAPI\GetParentProductThumbnail\Api;

interface ChildThumbnailManagementInterface
{


    /**
     * GET for ChildThumbnail api
     * @param string $product_id
     * @return string
     */
    public function getChildThumbnail($product_id);
}

Model/ChildThumbnailManagement.php

<?php


namespace WebAPI\GetParentProductThumbnail\Model;

class ChildThumbnailManagement
{


    /**
     * {@inheritdoc}
     */
    public function getChildThumbnail($product_id)
    {
        $objectManager =  \Magento\Framework\App\ObjectManager::getInstance();        

        if($product_id != ""){
            //This method getParentIdsByChild($child_id) get the parent id of a configurable product.
            $parent_product = $objectManager->create('Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable')->getParentIdsByChild($product_id);
            if(isset($parent_product[0]))
            {
                $parent_id = $parent_product[0];

                //Parent object where you can get Thumbnail, name.... etc
                //$parent_object = $objectManager->create('Magento\Catalog\Model\Product')->load($parent_product[0]);

                echo parent_id;
            }
        }
        return null;
    }
}