การสร้าง JSON API
การอ่าน request body
หัวข้อที่มีชื่อว่า “การอ่าน request body”ต่างจาก URL และ headers ที่มีพร้อมทันที body ของ request มาเป็น stream ของ chunk คุณต้องเก็บรวบรวมด้วย event data และ end:
function readBody(req) { return new Promise(function(resolve, reject) { let raw = ''; req.on('data', function(chunk) { raw += chunk; }); req.on('end', function() { resolve(raw); }); req.on('error', reject); });}เมื่อได้ string ดิบแล้ว ให้ parse ด้วย JSON.parse() ใน try/catch เพื่อจัดการ input ที่รูปแบบผิดพลาดอย่างสง่างาม
JSON API ขนาดเล็กที่เก็บข้อมูลใน memory
หัวข้อที่มีชื่อว่า “JSON API ขนาดเล็กที่เก็บข้อมูลใน memory”server ด้านล่างจัดการ list ของ item ใน memory โดยรองรับ:
GET /items— แสดง item ทั้งหมดPOST /items— เพิ่ม item (อ่าน JSON body)GET /items/:id— ดึง item เดียว (คืน 404 ถ้าไม่มี)
Needs the Node.js runtime — open in StackBlitz to run.
เปิดใน StackBlitz แล้วทดสอบ API ด้วย built-in HTTP client หรือ curl:
curl http://localhost:3000/itemscurl -X POST http://localhost:3000/items -H 'Content-Type: application/json' -d '{"name":"TypeScript"}'curl http://localhost:3000/items/3curl http://localhost:3000/items/99สรุป status codes สำหรับ REST API
หัวข้อที่มีชื่อว่า “สรุป status codes สำหรับ REST API”| สถานการณ์ | Status Code |
|---|---|
| อ่านข้อมูลสำเร็จ | 200 OK |
| สร้าง resource สำเร็จ | 201 Created |
| field หายหรือ body ผิดรูปแบบ | 400 Bad Request |
| ไม่พบ resource | 404 Not Found |
| server error | 500 Internal Server Error |