HTTP Method - The QUERY
הבעיה
זו בעיה קלאסית של בקשת get עם פילטרים או יותר גרוע - עם גוף הודעה.
אז הפרקטיקה הייתה כזו:
- או בקשת
POSTכשאילתא, למשל ב-ElasticSearch. - בקשת
GETעם הרבה פילטרים.
כחלק מבעיות הסמנטיות האלו, יש גם בעיות טכניות.
- אם משתמשים ב-
urlכדי לאגד פילטרים, אפשר בקלות להגיע לאורך גדול, יותר מ2000 או 8000 אפילו. - בלבול בין בקשת יצירה לבקשת שאילתא מאחר ומשתמשים ב-
POST. - רוב השרתים לא מממשים קריאת גוף ב-
GET.
הפתרון
הפתרון הוא שימוש במתודה חדשה בשם QUERY שמקבלת גוף.
ה-Headerים שמתמשים בהם הם:
Content-Type- אותו דבר, איזה תוכן נקבל.Accept- מה השרת מוכן לקבל.Accept-Query- האדר חדש שאומר איזה פורמט של שאילתא זה יכול לקבל.
דוגמא
1 | QUERY /contacts HTTP/1.1 |
מוזמנים לעבור על ה-RFC כדי לקרוא את הספסיפיקציות לפרטי פרטים.
תודה על הקריאה!