본문으로 건너뛰기

เนื้อหาภาษาไทย / 태국어 콘텐츠

시스템 가이드 검수 완료된 콘텐츠

HTTP Methods: GET, POST, PUT, DELETE คืออะไร?

บทความนี้อธิบายถึง HTTP Methods ซึ่งเป็นคำสั่งที่ใช้ในการสื่อสารกับ Server ใน RESTful API โดยเน้นที่ 4 Methods หลัก ได้แก่ GET (ดึงข้อมูล), POST (สร้างข้อมูล),...

HTTP Methods: GET, POST, PUT, DELETE คืออะไร?

ในบทที่แล้ว เราได้เรียนรู้เกี่ยวกับ REST และแนวคิดพื้นฐานของ RESTful API ในบทนี้ เราจะมาเจาะลึก HTTP Methods ซึ่งเป็นหัวใจสำคัญของการทำงานกับ RESTful API HTTP Methods เหล่านี้เป็นคำสั่งที่บอก Server ว่า Client ต้องการทำอะไรกับ Resource นั้นๆ โดย HTTP Methods ที่ใช้บ่อยที่สุดคือ GET, POST, PUT และ DELETE

HTTP Methods คืออะไร?

HTTP Methods (หรือบางครั้งเรียกว่า HTTP Verbs) คือคำสั่งที่ส่งไปพร้อมกับ HTTP Request เพื่อระบุการกระทำที่ Client ต้องการให้ Server ทำกับ Resource ที่ระบุใน URL ตัวอย่างเช่น Client อาจต้องการ:

  • ดึงข้อมูล (GET)
  • สร้างข้อมูลใหม่ (POST)
  • แก้ไขข้อมูลที่มีอยู่ (PUT)
  • ลบข้อมูล (DELETE)

การใช้ HTTP Methods อย่างถูกต้องตามหลักการ RESTful API จะช่วยให้ API ของเรามีความชัดเจน, เข้าใจง่าย และง่ายต่อการบำรุงรักษา

GET คืออะไร?

GET เป็น Method ที่ใช้สำหรับดึงข้อมูลจาก Server โดยการระบุ URL ของ Resource ที่ต้องการ ตัวอย่างเช่น หากเราต้องการดึงข้อมูลของ Blog Post ที่มี ID เท่ากับ 1 เราจะส่ง HTTP Request ด้วย Method GET ไปยัง URL /posts/1

ลักษณะสำคัญของ GET:

  • Read-Only: GET ไม่ควรทำการเปลี่ยนแปลงข้อมูลใดๆ บน Server
  • Idempotent: การเรียก GET หลายครั้งติดต่อกัน ควรให้ผลลัพธ์เหมือนเดิมเสมอ (ถ้าไม่มีการเปลี่ยนแปลงข้อมูลบน Server)
  • Safe: GET ไม่ควรมีผลข้างเคียงใดๆ ต่อ Server
  • Cacheable: Response จาก GET สามารถ Cache ได้ เพื่อเพิ่มประสิทธิภาพ
  • ข้อมูลใน Request: โดยทั่วไป GET จะส่งข้อมูลเพิ่มเติมผ่านทาง Query Parameters ใน URL (เช่น /posts?author=john&sort=date)

ตัวอย่าง (สมมติว่าเรามี API endpoint ที่ /posts/1):

GET /posts/1 HTTP/1.1
Host: api.example.com

Response ตัวอย่าง (JSON):

{
  "id": 1,
  "title": "My First Blog Post",
  "content": "This is the content of my first blog post.",
  "author": "John Doe"
}

POST คืออะไร?

POST เป็น Method ที่ใช้สำหรับสร้าง Resource ใหม่บน Server โดยข้อมูลที่ต้องการสร้างจะถูกส่งไปใน Request Body ตัวอย่างเช่น หากเราต้องการสร้าง Blog Post ใหม่ เราจะส่ง HTTP Request ด้วย Method POST ไปยัง URL /posts พร้อมกับข้อมูลของ Blog Post ใน Request Body

ลักษณะสำคัญของ POST:

  • Create: POST ใช้เพื่อสร้าง Resource ใหม่
  • Non-Idempotent: การเรียก POST หลายครั้งติดต่อกัน อาจสร้าง Resource หลายรายการ
  • ข้อมูลใน Request: ข้อมูลที่ต้องการสร้างจะถูกส่งไปใน Request Body (เช่น JSON, XML, Form Data)
  • Response: โดยทั่วไป Server จะตอบกลับด้วย HTTP Status Code 201 Created พร้อมกับ URL ของ Resource ที่สร้างขึ้นใหม่ใน Header Location

ตัวอย่าง (สมมติว่าเรามี API endpoint ที่ /posts):

POST /posts HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "title": "My Second Blog Post",
  "content": "This is the content of my second blog post.",
  "author": "Jane Doe"
}

Response ตัวอย่าง:

HTTP/1.1 201 Created
Location: /posts/2

PUT คืออะไร?

PUT เป็น Method ที่ใช้สำหรับแก้ไข Resource ที่มีอยู่แล้วบน Server โดยข้อมูลที่ต้องการแก้ไขจะถูกส่งไปใน Request Body ตัวอย่างเช่น หากเราต้องการแก้ไข Blog Post ที่มี ID เท่ากับ 1 เราจะส่ง HTTP Request ด้วย Method PUT ไปยัง URL /posts/1 พร้อมกับข้อมูลที่ต้องการแก้ไขใน Request Body

ลักษณะสำคัญของ PUT:

  • Update/Replace: PUT ใช้เพื่อแก้ไข Resource ที่มีอยู่แล้ว โดยจะแทนที่ข้อมูลเดิมทั้งหมดด้วยข้อมูลใหม่ที่ส่งมา
  • Idempotent: การเรียก PUT หลายครั้งติดต่อกัน ควรให้ผลลัพธ์เหมือนเดิมเสมอ (ถ้าไม่มีการเปลี่ยนแปลงข้อมูลอื่นบน Server)
  • ข้อมูลใน Request: ข้อมูลที่ต้องการแก้ไขจะถูกส่งไปใน Request Body (เช่น JSON, XML, Form Data)
  • Response: โดยทั่วไป Server จะตอบกลับด้วย HTTP Status Code 200 OK หรือ 204 No Content

ตัวอย่าง (สมมติว่าเรามี API endpoint ที่ /posts/1):

PUT /posts/1 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "title": "My Updated Blog Post",
  "content": "This is the updated content of my blog post.",
  "author": "John Doe"
}

Response ตัวอย่าง:

HTTP/1.1 200 OK

DELETE คืออะไร?

DELETE เป็น Method ที่ใช้สำหรับลบ Resource ที่มีอยู่แล้วบน Server โดยการระบุ URL ของ Resource ที่ต้องการลบ ตัวอย่างเช่น หากเราต้องการลบ Blog Post ที่มี ID เท่ากับ 1 เราจะส่ง HTTP Request ด้วย Method DELETE ไปยัง URL /posts/1

ลักษณะสำคัญของ DELETE:

  • Delete: DELETE ใช้เพื่อลบ Resource ที่มีอยู่แล้ว
  • Idempotent: การเรียก DELETE หลายครั้งติดต่อกัน ควรให้ผลลัพธ์เหมือนเดิมเสมอ (แม้ว่า Resource จะถูกลบไปแล้วก็ตาม)
  • ข้อมูลใน Request: โดยทั่วไป DELETE จะไม่ส่งข้อมูลเพิ่มเติมใน Request Body
  • Response: โดยทั่วไป Server จะตอบกลับด้วย HTTP Status Code 200 OK หรือ 204 No Content

ตัวอย่าง (สมมติว่าเรามี API endpoint ที่ /posts/1):

DELETE /posts/1 HTTP/1.1
Host: api.example.com

Response ตัวอย่าง:

HTTP/1.1 204 No Content

สรุป

HTTP Methods เป็นเครื่องมือสำคัญสำหรับการสร้าง RESTful API ที่ดี การเข้าใจความหมายและการใช้งานของ GET, POST, PUT และ DELETE จะช่วยให้เราออกแบบ API ที่มีความชัดเจน, เข้าใจง่าย และง่ายต่อการบำรุงรักษา ในบทต่อไป เราจะมาเรียนรู้เกี่ยวกับ Endpoint และวิธีการออกแบบ Endpoint ที่ดี

Office.in.th Custom Service

이 구조를 바탕으로 시스템을 개발하거나 맞춤 변경하고 싶으신가요?

Office.in.th는 엔터프라이즈 웹 애플리케이션, API 연동, 공공/민간 업무 관리 시스템을 설계·개발하며 장기 지원을 제공합니다.

소프트웨어 개발 서비스 보기