Di Magento 1, Kami biasa memeriksa sebagai:
if (Mage::getSingleton('api/server')->getAdapter() != null) {
// request from Web-Service
}
Bagaimana cara memeriksa yang sama di Magento2?
Saya tidak menemukan adaptor yang sesuai yang cocok untuk REST & SOAP.
magento2
http-request
webapi
MagePsycho
sumber
sumber
Jawaban:
Saya dulu
Magento\Framework\App\State::getAreaCode()
mencari tahu apakah permintaan datang melalui SOAP / REST API.Anda dapat memeriksa kemungkinan kode area di
Magento\Framework\App\Area
kelas.sumber
Silakan periksa dengan kode di bawah ini,
sumber
Saya punya tugas yang sama sekali, dan jika saya ingat dengan benar saya melakukan ini dengan memeriksa apakah
\Magento\Framework\App\Request\Http::getFullActionName()
sama__
. Saya tidak tahu mengapa, tetapi untuk permintaan REST ini akan menjadi nama tindakan lengkap.Namun, saya tidak menemukan ini aman pada saat itu karena rasanya tidak seperti solusi yang paling benar, jadi saya akhirnya dengan ketat memeriksa string permintaan:
Seperti yang mungkin sudah Anda duga, dalam situasi saya, saya harus memeriksa apakah permintaan REST saat ini sangat spesifik.
Saya tidak tahu tentang SOAP, tapi saya berasumsi Anda bisa menggunakan pendekatan yang sama. Namun, itu masih tidak terasa seperti solusi yang tepat.
sumber