Однажды у меня была похожая задача, и если я правильно помню, я сделал это, проверив, \Magento\Framework\App\Request\Http::getFullActionName()
равно ли __
. Я не знаю почему, но для запросов REST это будет полное имя действия.
Однако я не нашел это безопасным в то время, потому что это не было похоже на самое правильное решение, поэтому я в итоге строго проверил строку запроса:
if (
$this->request->getRequestString() === '/rest/V1/carts/mine/payment-information'
) {
...
Как вы уже догадались, в моей ситуации мне пришлось проверить, был ли текущий запрос REST очень специфичным.
Я не знаю о SOAP, но я предполагаю, что вы могли бы использовать аналогичный подход. Тем не менее, это все еще не совсем похоже на правильное решение.