เพชรบล็อก

  • Website Tech Stack

Nodejs EP.4 - GET POST และ POSTMAN

nodejs

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

เปิดโปรแกรม Postman ขึ้นมาและกดสร้างแท็บใหม่







GET POSTMAN

เลือก METHOD แบบ GET กรอกลิงก์ http://localhost:3000/test ลงไปแล้วกด Send







GET POSTMAN

จะได้รับข้อมูล JSON กลับมา ถือว่ายิง Request สำเร็จ!







GET POSTMAN

ต่อมาทดสอบส่งข้อมูลไปที่ Server
ขั้นแรกให้ตั้ง METHOD เป็น POST
กดไปที่ Body
เลือกประเภทข้อมูลแบบ x-www-form-urlencoded
(หรือจะเลือกแบบ raw JSON ก็ได้นะครับ เพราะ Server เราติดตั้งวุ้นแปลภาษาไว้ทั้งสองแบบ)
เสร็จแล้วกรอกข้อมูลลงไปตามในรูปภาพ







successful request

กด Send แล้วจะได้ข้อมูลที่เราส่งไปกลับมา เพื่อยืนยันว่า Server ได้รับข้อมูลของเรา และสามารถเข้าใจสิ่งเราส่งไปได้




เรียบร้อยแล้วครับ!

ผู้เขียน:

Kiart Tantasi (เพชร)



GitHub:

kiart-tantasi

เพชรบล็อก - [email protected]