En Magento 1, solíamos comprobar como:
if (Mage::getSingleton('api/server')->getAdapter() != null) {
// request from Web-Service
}
¿Cómo verificar lo mismo en Magento2?
No encontré ningún adaptador adecuado que se ajuste tanto a REST como a SOAP.
magento2
http-request
webapi
MagePsycho
fuente
fuente
Respuestas:
Solía
Magento\Framework\App\State::getAreaCode()
encontrar si la solicitud llegaba a través de SOAP / REST API.Puede verificar los posibles códigos de área en
Magento\Framework\App\Area
clase.fuente
Por favor verifique con el siguiente código,
fuente
Tuve una tarea similar una vez, y si recuerdo correctamente, hice esto al verificar si
\Magento\Framework\App\Request\Http::getFullActionName()
es igual__
. No sé por qué, pero para las solicitudes REST, este sería el nombre completo de la acción.Sin embargo, no encontré esto seguro en ese momento porque no parecía la solución más correcta, por lo que terminé verificando estrictamente la cadena de solicitud:
Como habrás adivinado, en mi situación tuve que verificar si la solicitud REST actual era muy específica.
No sé sobre SOAP, pero supongo que podría usar un enfoque similar. Sin embargo, todavía no parece la solución adecuada.
fuente