No Magento 1, costumávamos verificar como:
if (Mage::getSingleton('api/server')->getAdapter() != null) {
// request from Web-Service
}
Como verificar o mesmo no Magento2?
Não encontrei nenhum adaptador adequado para REST e SOAP.
magento2
http-request
webapi
Mago Psico
fonte
fonte
Respostas:
Eu costumava
Magento\Framework\App\State::getAreaCode()
descobrir se a solicitação está chegando via API SOAP / REST.Você pode verificar os possíveis códigos de área na
Magento\Framework\App\Area
aula.fonte
Por favor, verifique com o código abaixo,
fonte
Eu tive uma tarefa semelhante uma vez e, se me lembro corretamente, fiz isso verificando se
\Magento\Framework\App\Request\Http::getFullActionName()
é igual__
. Não sei por que, mas para solicitações REST, esse seria o nome completo da ação.No entanto, eu não achei isso seguro no momento porque não parecia a solução mais correta, então acabei verificando rigorosamente a sequência de solicitação:
Como você deve ter adivinhado, na minha situação, tive que verificar se a solicitação REST atual era muito específica.
Não sei sobre o SOAP, mas presumo que você possa usar uma abordagem semelhante. No entanto, ainda não parece a solução adequada.
fonte