Überprüfung eingehender Requests: Storefront oder Admin

Hallo. Ich versuche zu überprüfen, ob eingehende Requests an den Storefront oder nicht an den Admin gerichtet sind. Ich habe Schwierigkeiten, den Context in KernelEvents::Request zu überprüfen. Gibt es ein anderes Event, auf das ich mich subscribe kann, das mir ermöglicht, den Context des Requests zu überprüfen, oder eine andere Möglichkeit, dies zu überprüfen?

Aus meiner Wühlkiste mal zwei Funktionen:

    private function isApiRequest(): bool
    {
        $request = $this->requestStack->getCurrentRequest();

        if ($request === null) {
            return false;
        }

        if (!$request->attributes->has('_routeScope')) {
            return false;
        }

        $scope = (array) $request->attributes->get('_routeScope');

        return ($scope[0] === 'api');
    }

oder

    private function isApiRequest(): bool
    {
        $request = $this->requestStack->getCurrentRequest();

        if (!$request instanceof Request) {
            return false;
        }

        if ($request->attributes->has('_route') === false) {
            return false;
        }

        $route = (string) $request->attributes->get('_route');

        if (substr_count($route, 'api.action.') === 0) {
            return false;
        }

        return true;
    }

Musst du mal schauen, was eigentlich „sinnvoller“ ist. Beide Methoden „raten“, ob es sich um einen API request handelt.

Viele Grüße

Danke für die Antwort, sie hat mir bei meinem Problem weitergeholfen. Ich habe den ersten Ansatz verwendet. Der Scope-Wert ist entweder ‚administration‘ oder ‚storefront‘, falls jemand anderes diesen Ansatz verwenden möchte.

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.