Nodejs EP.4 - GET POST และ POSTMAN
25 มีนาคม 2565
ปูพื้นฐาน Nodejs ตอนที่ 4 - GET POST และ POSTMAN
ในตอนที่ 4 นี้ผมจะมาสอนถึงการสร้างเราต์ GET และเราต์ POST ด้วยเฟรมเวิร์ก Express
พร้อมสอนทดสอบยิง Request ไปที่ Server ด้วยโปรแกรม Postman ครับ
ส่วนแรก - เขียนโค้ดสร้างเซิร์ฟเวอร์
อันนี้เป็นโค้ดทั้งหมดที่เราจะใช้ทดสอบครับ เดี๋ยวผมจะอธิบายไปทีละส่วนนะครับ
const express = require("express");
const app = express();
app.use(express.json());
app.use(express.urlencoded({extended: true}));
app.get("/test", function(request, response) {
response.json({message: "You are getting data."})
});
app.post("/test", function(request, response) {
const name = request.body.name;
const age = request.body.age;
response.json({message:"You just sent name '" + name
+ "' and age '" + age + "' to the server."});
});
app.listen(3000, function() {
console.log("Server is running.")
});
const express = require("express");
const app = express();
ส่วนแรกคือการ import เฟรมเวิร์ก Express และสร้าง app จากคำสั่ง express()
สำหรับใครที่ยังไม่ได้ติดตั้ง express ลงในโปรเจค ให้พิมพ์ "npm i express" ใน Terminal เพื่อติดตั้งนะครับ
app.use(express.json());
app.use(express.urlencoded({extended: true}));
ต่อมา เราใส่วุ้นแปลภาษาข้อมูลให้กับ app ของเรา โดยรูปแบบข้อมูลที่ใช้จะมี 2 อย่างคือ JSON และ URL-ENCODED
เพิ่มเติม 1: ! หากเราไม่เขียน 2 คำสั่งด้านบนนี้ Server จะไม่สามารถอ่านข้อมูลที่ส่งเข้ามาได้ครับ !
เพิ่มเติม 2: การตั้ง extended เป็น true ทำให้ Server สามารถรับข้อมูลประเภท Nested Object ได้
app.get("/test", function(request, response) {
response.json({message: "You are getting data."})
});
ต่อมา เราสร้างเราต์ "/test" โดยใช้ METHOD แบบ GET เพื่อทดสอบรับข้อมูลจาก Server
โดยคำสั่งที่เราจะใช้ส่งข้อมูลกลับมาคือ response.json({}); เพื่อส่งข้อมูลมาในรูปแบบ JSON แทนที่จะใช้คำสั่ง response.send(""); ที่ส่งมาเป็น Plain Text
app.post("/test", function(request, response) {
const name = request.body.name;
const age = request.body.age;
response.json({message:"You just sent name '" + name
+ "' and age '" + age + "' to the server."});
});
ต่อมา สร้างเราต์ "/test" โดยใช้ METHOD แบบ POST เพื่อทดสอบส่งข้อมูลไปยัง Server
ในส่วนนี้ เราจะสกัดข้อมูล name และ age จาก request.body.name และ request.body.age
เสร็จแล้วใช้คำสั่ง response.json() ส่งข้อมูลกลับมา
app.listen(3000, function() {
console.log("Server is running.")
});
รัน Server บนพอร์ต 3000
เขียนโค้ดเสร็จทั้งหมดนี่แล้วก็พิมพ์ node app.js (หรือชื่อไฟล์ของเพื่อน ๆ) ใน Terminal เพื่อเปิด Server ได้เลยครับ
ส่วนที่สอง - ทดสอบเซิร์ฟเวอร์ด้วยโปรแกรม Postman
ขั้นแรกโหลดโปรแกรม Postman ที่ https://www.postman.com
(เวอร์ชัน Desktop นะครับ)
เปิดโปรแกรม Postman ขึ้นมาและกดสร้างแท็บใหม่
เลือก METHOD แบบ GET กรอกลิงก์ http://localhost:3000/test ลงไปแล้วกด Send
จะได้รับข้อมูล JSON กลับมา ถือว่ายิง Request สำเร็จ!
ต่อมาทดสอบส่งข้อมูลไปที่ Server
ขั้นแรกให้ตั้ง METHOD เป็น POST
กดไปที่ Body
เลือกประเภทข้อมูลแบบ x-www-form-urlencoded
(หรือจะเลือกแบบ raw JSON ก็ได้นะครับ เพราะ Server เราติดตั้งวุ้นแปลภาษาไว้ทั้งสองแบบ)
เสร็จแล้วกรอกข้อมูลลงไปตามในรูปภาพ
กด Send แล้วจะได้ข้อมูลที่เราส่งไปกลับมา เพื่อยืนยันว่า Server ได้รับข้อมูลของเรา และสามารถเข้าใจสิ่งเราส่งไปได้