วิธีการการใช้ Node.js เพื่อสำหรับทำ Restful API

jQuery & Ajax Knowledge ความรู้เกี่ยวกับ Javascript , jQuery และ Ajax

Moderator: mindphp, ผู้ดูแลกระดาน

Grammanano
PHP Sr. Member
PHP Sr. Member
โพสต์: 60
ลงทะเบียนเมื่อ: 02/12/2019 10:16 am

วิธีการการใช้ Node.js เพื่อสำหรับทำ Restful API

โพสต์ที่ยังไม่ได้อ่าน โดย Grammanano »

Restful API สามารถส่งคำร้องขอข้อมูลไปยัง server และสามารถโต้ตอบกันได้ ในส่วนของ Node.js จะมีการตอบกลับมาในรูปแบบของ JSON

โดยรูปแบบการทำงานคือ ฝั่ง Client จะมีการส่งคำร้องขอไปยัง server โดยใช้คำสั่ง get, post, put, delete ส่วนฝั่ง server จะตอบข้อมูลกลับไปพร้อมสถานะของ HTTP เช่น หากไม่พบข้อมูลที่ร้องขอจากเครื่องแม่ข่าย จะขึ้นสถานะเป็น 404 Not found

ในส่วนของ method ที่ใช้บ่อย ๆ คือ
get สำหรับขอข้อมูล
post สำหรับเพิ่มข้อมูล
put สำหรับแก้ไขข้อมูล (ในบางแห่งอาจใช้ patch สามารถแก้ข้อมูลได้เช่นกัน)
delete สำหรับลบข้อมูล

รูปแบบการเขียน
ยกตัวอย่างการใช้ get

โค้ด: เลือกทั้งหมด

app.get('/get', function (req, res) {
  console.log('data');
  res.send(data);
});
โดยในวงเล็บบรรทัดแรกจะเป็น reference ของไฟล์ที่เรียกใช้ API ตัวนี้ จากนั้นจึงทำการส่ง request และรับ response มาจาก server
res.send(data) จะเป็นการส่งค่า data ที่ได้มากลับไปยังไฟล์ที่เรียกใช้ API

ยกตัวอย่างการใช้ post

โค้ด: เลือกทั้งหมด

app.post("/add", async (req, res) => {
   console.log('add data');
   product: req.body.productName,
   product.save().then(data => {
      res.status(200).json(data);
    });
});
เมื่อมีการเรียกใช้ API ตัวนี้ จะทำการรับค่า productName มาจากไฟล์ที่เรียกใช้ และนำมาเก็บไว้ใน product จากนั้นจึงส่งข้อมูลไปยัง server เพื่อเพิ่ม แล้วส่งสถานะกลับมา ( HTTP status )

ตัวอย่างการใช้ put

โค้ด: เลือกทั้งหมด

app.put("/edit", async (req, res) => {

  const id = req.body._id;
  Product.findByIdAndUpdate(id, {$set:req.body}, function(err, result){
    if(err){
      console.log(err);
    }
    console.log("RESULT: " + result);
  });
  res.send('Done')
  res.status(200).json(data);
   
});
เมื่อเรียกใช้ API ตัวนี้ จะเป็นการให้ตัวแปร id เก็บค่าของ _id จากตัวแปรที่เรียกใช้ คำสั่ง .findByIdAndUpdate() จะส่ง id ไปค้นหาแล้วนำค่าที่ต้องการแก้ไขไป update ใน server

(***put กับ patch ใช้ในการแก้ไขข้อมูลเหมือนกัน ต่างกันตรงที่หากแก้ไขข้อมูลโดยใช้ put จะต้องใส่ข้อมูลเดิมที่ไม่ต้องการแก้ไขอีกครั้งด้วย แต่ patch จะแก้ไขข้อมูลใหม่โดยที่ข้อมูลเดิมยังอยู่)

ตัวอย่างการใช้ delete

โค้ด: เลือกทั้งหมด

app.delete("/del", (req, res, next) => {
  const id = req.body._id;
  console.log(id);
  Product.findByIdAndDelete({ _id: id })
    .then(result => {
      res.status(200).json(result);
    })
});
เมื่อเรียกใช้ API นี้ คำสั่ง .findByIdAndDelete() จะทำการนำ id จากตัวแปรที่เรียกใช้ไปค้นหาข้อมูลใน server และลบออก


บทความที่เกี่ยวข้อง
การใช้ API ของไปรษณีย์ไทย
REST API คืออะไร
ข้อแตกต่างระหว่าง SOAP กับ REST
ทำความรู้จักกับ Node.js
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 19