รูปแบบหนึ่งในการพัฒนาเว็บไซต์มีการแบ่งเป็นระบบหน้าบ้านและระบบหลังบ้าน ในภาษาเชิงเทคนิคเรียก
ว่า front-end กับ back-end ส่วน front-end ทำหน้าที่ในการจัดการหน้าเว็บไซต์ การดึงข้อมูลจากระบบหลัง
บ้านมาแสดงผล รวมถึงการรับข้อมูลจากผู้ใช้ส่งไปให้หลังบ้าน ส่วนระบบ back-end ทำหน้าที่ในการจัดการ
ข้อมูลที่เข้าและออกโดยการนำไปประมวลผลอะไรบางอย่างแล้วมีการบันทึกลงฐานข้อมูล( database ) โดย
บทความนี้จะเน้นไปที่เรื่องตัวอย่างการสร้างระบบ back-end ที่เป็นแบบ REST api โดยการทำงานหลักๆจะมี
ดังนี้
- บันทึกข้อมูลลง database
- อ่านข้อมูลใน database
- แก้ไขข้อมูลใน database
- ลบข้อมูลใน database
4 ข้อข้างบนสรุปสั้นว่า CRUD ( create read update delete ) เป็นฟีเจอร์พื้นฐานที่ใช้บ่อยมากในการ
ทำงานกับ database
การส่งข้อมูลระหว่าง front-end กับ back-end นั้นจะใช้รูปแบบ json ในการรับส่งข้อมูลไปมาระหว่างกัน
รูปแบบ json นั้นจะกำหนดเป็นแบบใดก็ได้ไม่ตายตัว ส่วนต่อไปจะเป็นการเสนอตัวอย่าง RESR api ในรูปแบบ
ของผมเองโดยใช้ express เชื่อมต่อ database แบบ mockup ขึ้นมาก่อน โดยจะพาทำทำ REST api ของ
todo list
โครงสร้าง project เป็นดังนี้
เริ่มต้นให้สร้างไดเรกทอรี่( หรือโฟล์เดอร์นั่นเองมันคืออันเดียวกัน ) ชื่อ express-todo จากนั้นใช้หน้าต่าง
คำสั่ง command หรือ cmd เข้าไปใน express-todo จากนั้นใช้คำสั่ง
npm init -y
npm init -y
เพื่อเริ่มสร้างโปรเจ็คของ nodejs จากนั้นให้รันคำสั่งด้านล่างนี้เพื่อติดตั้ง module ทั้งหมดที่ต้องการใช้งาน
npm i -S cors express body-parser config
npm i -S เป็นรูปแบบย่อของคำสั่ง npm install --save เมื่อติดตั้งเสร็จแล้วต่อไปให้สร้างไดเรกทอรี่ชื่อ
config แล้วให้ข้างในมีไฟล์ default.json โดยไฟล์นี้จะใช้เก็บค่า environment ต่างๆของโปรเจ็ค เช่น port ที่ใช้
รัน เป็นต้น ให้สร้างไฟล์ default.json ตามตัวอย่างข้างล่างนี้
จากนั้นใน path เดียวกับ package.json ให้สร้างไฟล์ index.js ตามตัวอย่างข้างล่างนี้
สังเกตบรรทัด require('./api_v1/todo/routes')(app); โค้ดส่วนนี้จะ comment ปิดไว้ก่อนเมื่อ
เราสร้าง api เสร็จเดี๋ยวเราจะ uncomment ออกในภายหลัง ขั้นต่อไปให้ทดลองรันคำสั่ง
node index.js
จะได้ output ข้อความขึ้นว่า This server is running on port: 8000 แล้วถ้าเราเปิดเว็บบราวเซอร์
แล้วเข้า url ไปที่ localhost:8000 จะขึ้นข้อความว่า Hello World ถือว่าใช้ได้จะได้ output ข้อความขึ้นว่า This server is running on port: 8000 แล้วถ้าเราเปิดเว็บบราวเซอร์
ตอนต่อไป Nodejs Express Rest api ตอนที่ 2
ความคิดเห็น
แสดงความคิดเห็น