Handling POST Requests

בקשות Post שולחות מידע ל-DB.

על מנת לשלוח מידע, צריך לייצר ספר ולשלוח אותו ב-body של הבקשה. על מנת להשתמש ב-body צריך להשתמש ב-middleware של express.

נוסיף את app.use(express.json()) לראש הקובץ על מנת לעבד את אובייקט ה-Json שאנחנו שולחים.

נקבל ממי שקורא לפונקציה את הספר להכנסה, נשתמש בפונקציה insertOne על מנת להכניס נתונים ונשלח איתה את אובייקט הספר שלנו. לסיום המוצלח נשלח הודעת הצלחה או לחילופין הודעת שגיאה.

app.post('/books', (req, res) => {
    const book = req.body

    db.collection('books')
        .insertOne(book)
        .then(result => {
            res.status(201).json(result)
        })
        .catch(err => {
            res.status(500).json({ error: "Document not created"})
        })
})

כדי להפעיל את הפונקציה, ניצור פנייה דרך Postman.

נייצר בקשה ונבחר את סוג הבקשה כ-Post. אחר כך נכניס את האובייקט שאנחנו שולחים לשמירה, בשביל זה נלחץ לשונית body ושם נבחר Row מסוג Json. לבסוף נכניס את האובייקט שאנחנו שולחים עם כל הפרטים.

בחלונית למטה נראה את התגובה המוצלחת עם ה-ID של האובייקט שנוסף.

בהפעלת השאילתא שמביאה את כל הספרים, נראה את הספר החדש שהוספנו.