Magento2创建API

如果您想阅读完整的教程请点击查看:

About Magento2 API

Magento 2创建API的意思是帮助在线零售商开发自己的应用程序接口。
在Magento 2中创建API,您可以很容易地获得所有构建块来成功地启动一个程序。

为了更好地支持Magento 2模块的开发,Mageplaza小组尝试在你的hello world模块中建立API测试程序.

http://<magento_host>/swagger

What is API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
因此,如果您从其他网站请求任何程序或服务,API是连接数据的必需元素.
作为基于Magento 2平台的电子商务商店,您应该看看两种架构类型的web APIs: REST (Representational State Transfer)和SOAP(Simple Object Access Protocol)。但是,在正式的文档中,它们只使用原始的curl请求,没有任何示例。为了有效地连接和使用Magento 2 API,本主题将详细介绍PHP示例。

代码片段

File: 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/mageplaza-helloworld/post">
	<service class="Mageplaza\HelloWorld\Api\PostManagementInterface" method="getPost"/>
	<resources>
		<resource ref="anonymous"/>
	</resources>
</route>

File: 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="Mageplaza\HelloWorld\Api\PostManagementInterface" type="Mageplaza\HelloWorld\Model\PostManagement"/>
</config>

File: Model/PostManagement.php

 <?php 
namespace Mageplaza\HelloWorld\Model;


class PostManagement {

/**
 * {@inheritdoc}
 */
public function getPost($param)
{
	return 'api GET return the $param ' . $param;
}
}

File: Api/PostManagementInterface.php

<?php 
namespace Mageplaza\HelloWorld\Api;


interface PostManagementInterface {


/**
 * GET for Post api
 * @param string $param
 * @return string
 */

public function getPost($param);
}

原文来自于: