magento2 在小程式模組增加 Api

juanMay發表於2020-11-18
  因公司開發需要,需要在官網心願單的基礎上增加小程式端心願單功能,因與官網在模組及請求路徑上有所不同,需要額外去開發一套程式碼功能。
  一、踩得坑
  1、magento2 介面必須新增註釋,否則報錯

magento2 在小程式模組增加 Api
2、在介面新增註釋的時候,一定要注意引數的型別及返回資料的型別,否則報錯
magento2 在小程式模組增加 Api
3、如果沒有在 etc/di.xml中建立介面與模型的對應關係,會報錯如下:
magento2 在小程式模組增加 Api
二、正確配置
1、建立介面:在 模組\Applet\Api 下建立介面檔案 WishlistInterface.php (一定要注意引數型別與介面返回型別)
magento2 在小程式模組增加 Api
2、建立模型檔案:在 模組\Applet\Model\Api 下建立模型檔案 Wishlist.php
magento2 在小程式模組增加 Api
3、在 模組\Applet\etc\di.xml 增加介面與模型的對應關係
magento2 在小程式模組增加 Api

<preference for="模組\Applet\Api\WishlistInterface" type="模組\Applet\Model\Api\Wishlist"/>
4、為介面建立路由:在 模組\Applet\etc\webapi.xml 檔案中

magento2 在小程式模組增加 Api

    <route url="/V1/applet/addWishlistProduct" method="POST">
        <service class="模組\Applet\Api\WishlistInterface" method="addWishlistProduct"/>
        <resources>
            <resource ref="self"/>
        </resources>
        <data>
            <parameter name="customerId" force="true">%customer_id%</parameter>
        </data>
    </route>
5、在模型中實現的程式碼如下
```
public function removeWishlistProduct($customerId)
{

}

```

本作品採用《CC 協議》,轉載必須註明作者和本文連結
May

相關文章