Dans Magento 1, nous avions l'habitude de vérifier comme:
if (Mage::getSingleton('api/server')->getAdapter() != null) {
// request from Web-Service
}
Comment vérifier la même chose dans Magento2?
Je n'ai pas trouvé d'adaptateur approprié pour REST et SOAP.
magento2
http-request
webapi
MagePsycho
la source
la source
Réponses:
J'avais l'habitude
Magento\Framework\App\State::getAreaCode()
de trouver si la demande venait via l'API SOAP / REST.Vous pouvez vérifier les indicatifs régionaux possibles en
Magento\Framework\App\Area
classe.la source
Veuillez vérifier avec le code ci-dessous,
la source
J'ai eu une tâche similaire une fois, et si je me souviens bien, je l'ai fait en vérifiant si
\Magento\Framework\App\Request\Http::getFullActionName()
égal__
. Je ne sais pas pourquoi, mais pour les demandes REST, ce serait le nom complet de l'action.Cependant, je n'ai pas trouvé cela sûr à l'époque car cela ne semblait pas être la solution la plus correcte, j'ai donc fini par vérifier strictement la chaîne de demande:
Comme vous l'avez peut-être deviné, dans ma situation, j'ai dû vérifier si la demande REST actuelle était très spécifique.
Je ne connais pas SOAP, mais je suppose que vous pouvez utiliser une approche similaire. Cependant, cela ne semble toujours pas être la bonne solution.
la source