在 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>
是否可以将 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>