Sì, sono necessari middleware specifico per GraphQL in Laravel 11. Ecco i punti chiave:
- Il pacchetto `Rebing/Graphql-Laravel` supporta il middleware HTTP, il middleware di esecuzione graphql e il middleware di resolver GraphQL [1].
- Middleware HTTP può essere applicato a livello globale per tutti gli endpoint GraphQL tramite la configurazione `graphql.route.middleware` o per schema tramite` graphql.schemas.
- Il middleware di esecuzione graphql viene applicato durante l'elaborazione di una richiesta GraphQL. Può essere impostato a livello globale tramite `graphql.execution_middleware` o per-schema tramite` graphql.schemas.
- Il middleware del resolver viene eseguito per ciascun query/mutazione prima che il metodo `resolve ()` viene chiamato [1].
Quindi, in sintesi, è possibile applicare il middleware HTTP a livello globale o per schema, il middleware di esecuzione per controllare il flusso di elaborazione della richiesta GraphQL e il middleware di risoluzione per aggiungere una logica personalizzata prima che ogni query/mutazione venga risolta. Il middleware specifico necessario dipende dai requisiti dell'applicazione.
Citazioni:[1] https://github.com/rebing/graphql-laravel
[2] https://www.turing.com/kb/setting-a-graphql-server-using-laravel
[3] https://docs.prepr.io/connecting-front-end-apps/laravel/laravel-graphql-provider
[4] https://laravel.com/docs/11.x/middleware
[5] https://github.com/ardani/laravel-graphql