In Magento 1 haben wir Folgendes überprüft:
if (Mage::getSingleton('api/server')->getAdapter() != null) {
// request from Web-Service
}
Wie überprüfe ich dasselbe in Magento2?
Ich habe keinen geeigneten Adapter gefunden, der sowohl für REST als auch für SOAP geeignet ist.
magento2
http-request
webapi
MagePsycho
quelle
quelle
Antworten:
Ich habe immer herausgefunden
Magento\Framework\App\State::getAreaCode()
, ob eine Anfrage über die SOAP / REST-API kommt.Sie können die möglichen Vorwahlen in der
Magento\Framework\App\Area
Klasse überprüfen .quelle
Bitte überprüfen Sie mit dem folgenden Code,
quelle
Ich hatte einmal eine ähnliche Aufgabe, und wenn ich mich richtig erinnere, habe ich dies getan, indem ich überprüft habe, ob sie
\Magento\Framework\App\Request\Http::getFullActionName()
gleich ist__
. Ich weiß nicht warum, aber für REST-Anfragen wäre dies der vollständige Aktionsname.Allerdings fand ich dies zu diesem Zeitpunkt nicht sicher, da es sich nicht als die richtigste Lösung anfühlte. Daher überprüfte ich die Anforderungszeichenfolge streng:
Wie Sie vielleicht erraten haben, musste ich in meiner Situation überprüfen, ob die aktuelle REST-Anfrage eine sehr spezifische war.
Ich weiß nichts über SOAP, aber ich gehe davon aus, dass Sie einen ähnlichen Ansatz verwenden könnten. Es fühlt sich jedoch immer noch nicht ganz nach der richtigen Lösung an.
quelle