Cómo realizar operaciones CRUD usando API en Magento 2

Estás leyendo la publicación: Cómo realizar operaciones CRUD usando API en Magento 2

use Proveedor\Módulo\Api\CustomInterface;

use Proveedor\Módulo\Modelo\ModuleFactory;

clase Custom implementa CustomInterface

{

privado $moduleFactory;

presupuesto privado $;

$respuesta protegida = [‘success’ => false];

función pública __construct(moduleFactory $moduleFactory, \Magento\Quote\Model\Quote $quote)

{

$this->quote = $quote;

$this->moduleFactory = $moduleFactory;

}

/** * GET para Post api * @param string $title * @return string */

función pública getPost($título)

{

$insertData = $this->moduleFactory->create();

intentar {

$insertarDatos->setTitle($datos[‘title’])->guardar();

$respuesta = [‘success’ => true, ‘message’ => $data];

} atrapar (\Excepción $e) {

$respuesta = [‘success’ => false, ‘message’ => $e->getMessage()];

}

devolver $respuesta;

}

/** * cadena @return */

función pública getData()

{

intentar {

$data = $this->moduleFactory->create()->getCollection()->getData();

devolver $datos;

} atrapar (\Excepción $e) {

devolver [‘success’ => false, ‘message’ => $e->getMessage()];

}

}

/** * @param int $id * @return bool verdadero en caso de éxito */

función pública getDelete($id)

{

intentar {

si ($id) {

$data = $this->moduleFactory->create()->load($id);

$datos->eliminar();

devolver “éxito”;

}

} atrapar (\Excepción $e) {

$respuesta = [‘success’ => false, ‘message’ => $e->getMessage()];

}

falso retorno”;

}

/** * @param int $id * @return cadena */

función pública getById($id)

{

intentar {

si ($id) {

$data = $this->moduleFactory->create()->load($id)->getData();

devolver [‘success’ => true, ‘message’ => json_encode($data)];

}

} atrapar (\Excepción $e) {

devolver [‘success’ => false, ‘message’ => $e->getMessage()];

}

}

/** * GET para Post api * @param string $title * @return string */

función pública getEdit($título)

{

$editar = file_get_contents(“php://input”);

$datos = json_decode($editar, verdadero);

$insertData = $this->moduleFactory->create();

$id = $datos[‘id’];

si ($id) {

intentar {

$insertarDatos->cargar($id);

$insertarDatos->setTitle($datos[‘title’])->guardar();

$respuesta = [‘success’ => true, ‘message’ => $data];

} atrapar (\Excepción $e) {

$respuesta = [‘success’ => false, ‘message’ => $e->getMessage()];

}

}

respuesta de retorno;

}

}