Benutzerdefinierte API für Magento 2

How To Create Custom Rest API In Magento 2

Benutzerdefinierte API in magento 2 bedeutet, dass Online-Händler eine Anwendungsprogrammierschnittstelle für den eigenen Gebrauch nutzen können. API ist ein notwendiges Element, um eine Verbindung zwischen den Daten herzustellen, wenn Sie ein Programm oder eine Dienstleistung von anderen Websites anfordern. Mit API’s können Sie leicht alle Bausteine erhalten, um ein Programm erfolgreich zu initiieren.

Sie können api auf http://<yourhost>/swagger

Die Anwendungsprogrammierschnittstelle ermöglicht den Zugriff auf Daten aus einer Anwendung. API kann als Mittelsmann zwischen einem Programmierer und einer Anwendung bezeichnet werden.

Los geht’s

Erstellen und aktivieren Sie ein Modul.

Erstellen Sie eine registration.php in app/code/Bay20/CustomApi/ directory.

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

Erstellen Sie module.xml in app/code/Bay20/CustomApi/etc/ directory.

<?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="Bay20_CustomApi" setup_version="1.0.0"/>
</config>

Nachdem Sie diese beiden Dateien erstellt haben, führen Sie den Befehl

php bin/magento module:enable Bay20_CustomApi

Web-API-Konfiguration

app/code/Bay20/CustomApi/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="Bay20\CustomApi\Api\PostManagementInterface" method="getPost"/>
		<resources>
			<resource ref="anonymous"/>
		</resources>
	</route>
</routes>

Das Ressourcentag legt fest, welche Ressourcen der Benutzer benötigt, um auf diesen Api-Aufruf zugreifen zu können.

Schnittstelle definieren

In di.xml legen wir fest, welches Modell die Schnittstelle aufruft.

app/code/Bay20/CustomApi/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="Bay20\CustomApi\Api\PostManagementInterface" 
    type="Bay20\CustomApi\Model\PostManagement"/>
</config>

Interface

app/code/Bay20/CustomApi/Api/PostManagementInterface.php

<?php 
namespace Bay20\CustomApi\Api;

interface PostManagementInterface {

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

	public function getPost($param);
}

Model

app/code/Bay20/CustomApi/Model/PostManagement.php

<?php 
namespace Bay20\CustomApi\Model;
class PostManagement 
{
	public function getPost($param)
	{
		return 'api GET return the $param ' . $param;
	}
}

Innerhalb des Modells fügen wir unsere Funktionalität hinzu, die durch den Aufruf einer API-Methode ausgeführt wird.

Schlussfolgerung:

Mit Hilfe der oben genannten Dateien können Sie eine benutzerdefinierte Api in Magento 2 erstellen

Bitte kontaktieren Sie uns unter manish@bay20.com oder rufen Sie uns unter +91-8800519180 an, wenn Sie Unterstützung für Magento 2 benötigen. Sie können auch die Magento2-Entwicklungsseite besuchen, um die von uns angebotenen Dienstleistungen zu überprüfen.