在 Magento 中,我可以仅在 Magento REST API 上构建我的店面吗?

In Magento can I build my storefront solely on Magento REST API?

是否可以将 Magento 2.4 单独用作商店管理面板和 REST API?

我想将我的店面构建为一个 SPA/MPA/NodeJS 应用程序,它既与 PHP 也与 Magento 模板等无关,但仅通过其 REST 使用我的 Magento 后端安装 API?

API 是否让我可以完全控制后端数据以满足常见的店面需求(搜索和购买产品等)?

API 是否允许创建我的自定义端点?

当然,您可以在 Magento2 实例的 /swagger 页面(例如 https://local.magento2.com/swagger)或 Magento2 文档中检查所有可用的 REST API 方法 https://magento.redoc.ly/

您还可以通过 etc/webapi.xml 轻松创建自定义 enpoint,例如

<?xml version="1.0"?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
<!-- with admin token -->
    <route url="/V1/customers/sample/admin" method="POST">
        <service class="Vendor\Customer\Api\AccountManagementInterface" method="initiateAccountReset"/>
        <resources>
            <resource ref="Vendor_Customer::restore"/>
        </resources>
    </route>

<!-- with customer token -->
    <route url="/V1/customer/sample" method="POST">
        <service class="Vendor\Customer\Api\AccountManagementInterface" method="sample"/>
        <resources>
            <resource ref="self"/>
        </resources>
        <data>
            <parameter name="customerId" force="true">%customer_id%</parameter>
        </data>
    </route>

<!-- anonymous -->
    <route url="/V1/customer/sample/anonymous" method="POST">
        <service class="Vendor\Customer\Api\AccountManagementInterface" method="sample"/>
        <resources>
            <resource ref="anonymous" />
        </resources>
    </route>
</routes>