Ich rufe eine HTTP-Anforderung für den Controller auf, erhalte Get-Parameter, kann jedoch keine Post-Parameter in Controller empfangen.
Grundsätzlich möchte ich Magento 2-APIs aufrufen und eine angepasste Antwort an die Anwendung senden. Dazu habe ich eine erstellt simple module, die eine API und eine angepasste Antwort aufruft und eine Antwort an die Anwendung sendet.
Ich kann jedoch keine Post-Parameter von der Anfrage abrufen.
Hier sind einige meiner Dateien, die eine Vorstellung vom Problem geben können:
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 url="/V1/api/token" method="POST">
<service class="Spaarg\Api\Api\apiInterface" method="token"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
</routes>
Index.php
<?php
/**
*
* Copyright © 2015 Spaargcommerce. All rights reserved.
*/
namespace Spaarg\Api\Controller\Token;
class Index extends \Magento\Framework\App\Action\Action
{
/**
* @var \Magento\Framework\App\Cache\TypeListInterface
*/
protected $_cacheTypeList;
/**
* @var \Magento\Framework\App\Cache\StateInterface
*/
protected $_cacheState;
/**
* @var \Magento\Framework\App\Cache\Frontend\Pool
*/
protected $_cacheFrontendPool;
/**
* @var \Magento\Framework\View\Result\PageFactory
*/
protected $resultPageFactory;
/**
* @param Action\Context $context
* @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList
* @param \Magento\Framework\App\Cache\StateInterface $cacheState
* @param \Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool
* @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
*/
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
\Magento\Framework\App\Cache\StateInterface $cacheState,
\Magento\Framework\App\Cache\Frontend\Pool $cacheFrontendPool,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
parent::__construct($context);
$this->_cacheTypeList = $cacheTypeList;
$this->_cacheState = $cacheState;
$this->_cacheFrontendPool = $cacheFrontendPool;
$this->resultPageFactory = $resultPageFactory;
}
/**
* Flush cache storage
*
*/
public function execute()
{
//$this->resultPage = $this->resultPageFactory->create();
//return $this->resultPage;
$_objectManager = \Magento\Framework\App\ObjectManager::getInstance(); //instance of\Magento\Framework\App\ObjectManager
$storeManager = $_objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStore = $storeManager->getStore();
$baseUrl = $currentStore->getBaseUrl();
$post = $this->getRequest()->getPost();
echo "<pre>";
print_r($post);
exit;
}
}
Es wird toll sein, wenn jemand helfen kann.
$postParam = $this->context->getRequest()->getParam('<param>');