Sécuriser et optimiser un serveur GraphQL
Le serveur Apollo ~/gql/server.js accepte des requêtes arbitrairement profondes et expose son schéma en production.
- Désactivez l'introspection en production :
introspection: process.env.NODE_ENV !== "production" - Limitez la profondeur des requêtes :
validationRules: [depthLimit(7)](modulegraphql-depth-limit, importé sousdepthLimit) - Les journaux montrent 1 + N requêtes SQL pour la liste des commandes et leurs clients. Utilisez un chargeur par lot :
new DataLoader(...)créé par requête danscontext - Testez avec
npm test. Comment s'appelle le problème du point 3 ? →answer probleme <n+1|deadlock|cache>
Contenu Premium
Ce contenu est inclus dans l'offre Premium. Le titre et le résumé restent visibles pour vous aider à choisir.
Tâches
- Introspection et profondeur
- Chargement par lot, tests au vert
- Nom du problème