Home > Software engineering >  Is it possible to post multiple data i.e., array of object using POSTMAN
Is it possible to post multiple data i.e., array of object using POSTMAN

Time:11-17

Like

[
    {
        "enear": "",
        "inten": 1,
        "sctor": "Eny",
        "topic": "",
        "insight": ""  
    },
    {
        "enear": "",
        "inten": 1,
        "sctor": "Eny",
        "topic": "",
        "insight": ""  
    }
]

If possible how to write the nodejs code This is my code

router.post("/post" , async (req,res) => {
    const data = new Model(req.map(r => ({
        enear: r.body.enear,
        inten:r.body.inten,
        sctor: r.body.sctor,
        topic: r.body.topic,
        insight: r.body.insight,
       
    })))
    try{
        const dataToSave = await data.save()
        res.status(200).json(dataToSave)
    }catch(error){
        res.status(400).json({message:error.message})
    }
})

Does map works here?

I have tried using map . Is there any possible way please suggest

CodePudding user response:

You can send an array in the body part and access an array using req.body and use req.body.map here if it satisifies the condition Array.isArray(req.body)

router.post("/post" , async (req,res) => {  
   const { body } = req;
   if (Array.isArray(body)) {
       const data = new Model(body.map(r => ({
        enear: r.body.enear,
        inten:r.body.inten,
        sctor: r.body.sctor,
        topic: r.body.topic,
        insight: r.body.insight,
       
    })))
    try{
        const dataToSave = await data.save()
        res.status(200).json(dataToSave)
    }catch(error){
        res.status(400).json({message:error.message})
    }
   }

CodePudding user response:

You can specify the array in Body -> Raw (select JSON format): enter image description here

Then, you should be able to access your data with:

router.post('/post', async (req, res) => {
  const { array } = req.body;
  try {
    const savedData = [];
    for (const obj of array) {
      const data = await Model.create({
        enear: obj.enear,
        inten: obj.inten,
        sctor: obj.sctor,
        topic: obj.topic,
        insight: obj.insight,
      });
      savedData.push(data);
    }
    res.status(200).json(savedData);
  } catch (error) {
    res.status(400).json({ message: error.message });
  }
});
  • Related