מאמת שאילתת GraphQL
בדקו שאילתות GraphQL, מוטציות ופרגמנטים מול הסכמה לפני השליחה. הדביקו SDL או introspection JSON כדי לראות שגיאות אימות נתמכות, כולל שורה ועמודה.
מקבל פעולות של עד 200,000 תווים, סכמה של עד 1,000,000 תווים ומשתנים של עד 200,000 תווים. המסמכים מוגבלים ל-100,000 אסימונים ו-64 רמות קינון, והסכמות ל-10,000 סוגים. האימות פועל בעובד רקע בדפדפן ושום דבר לא נשלח לשרת GraphQL. קובצי ההורדה הם דוח JSON ורשימת שגיאות ב-CSV. שאילתות, מוטציות, פעולות subscription ופרגמנטים. שימו את הסכמה בשדה Schema. עד 200,000 תווים. בדקו את ההגדרות לפני ההרצה.
התוצאה שלכם
מאמת שאילתת GraphQL
- הדביקו את פעולות GraphQL והפרגמנטים בתיבה הראשית.
- הדביקו את הסכמה כ-SDL או introspection JSON בשדה Schema.
- אפשר להוסיף את המשתנים כאובייקט JSON.
- הריצו את הבדיקה, עברו על כל כלל שנכשל והורידו דוח JSON או CSV.
מה צפוי לקרות
מקבל פעולות של עד 200,000 תווים, סכמה של עד 1,000,000 תווים ומשתנים של עד 200,000 תווים. המסמכים מוגבלים ל-100,000 אסימונים ו-64 רמות קינון, והסכמות ל-10,000 סוגים. האימות פועל בעובד רקע בדפדפן ושום דבר לא נשלח לשרת GraphQL. קובצי ההורדה הם דוח JSON ורשימת שגיאות ב-CSV.
מה נבדק
המאמת בודק כללים נתמכים לשדות ולסוגי החזרה, לבחירות עלה ואובייקט, לארגומנטים וארגומנטים נדרשים, לשמות fragment, ליעדים, למחזוריות ול-fragments שאינם בשימוש, לערכים ולאובייקטי קלט כולל @oneOf, להנחיות ולמיקומים שלהן, ולהגדרות, לשימוש ולסוגים של משתנים. כשמוסיפים משתנים, הערכים שלהם נבדקים גם מול הסוגים המוצהרים. המגבלות שלהלן מתארות היכן המימוש המותאם נעצר.
איך זה עובד
Happytails.ai משתמשת במנתח ובמאמת GraphQL מוגבלים משלה, ולא ב-graphql-js. התנגשויות בשמות תגובה מושוות בין פרגמנטים ובין בחירות ילדים ממוזגות, כולל צורת ההחזרה, ארגומנטים וענפי אובייקט שאינם יכולים להתקיים יחד. __schema ו-__type מחייבים קבוצת בחירה, אך שדות ה-introspection הפנימיים שלהם אינם עוברים אימות. זו אינה מימוש מלא של GraphQL.
קריאת הדוח
כל שגיאה מציינת את הכלל, הסבר קצר ואת השורה והעמודה בפעולות. הסכמה עצמה חייבת להיות שמישה: Query חסר או שדה שמצביע לסוג לא מוגדר עוצרים את הבדיקה עם הודעה במקום רשימה.