มารู้จักกับ Web Service แบบ REST
01/08/2025
รูปหน้าจอ มารู้จักกับ Web Service แบบ REST
REST(Representational State Transfer) คือ Web Service รูปแบบหนึ่ง ที่อาศัยโปรโตคอล HTTP ในการแลกเปลี่ยนข้อมูลระหว่าง ไคลเอนต์ กับ เซิร์ฟเวอร์
ก่อนที่จะมาทำความรู้จักกับ REST ว่าคืออะไร แน่นอนเราจะต้องมาทำความเข้าใจกับความหมายของ Web Service กันก่อน
Web Service คือระบบซอฟต์แวร์ที่ออกแบบมา เพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์ผ่านระบบเครือข่าย เป็นการให้บริการแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ต่างๆในโลก internet ซึ่งข้อมูลที่รับส่งอาจจะอยู่ในรูปแบบ XML, JSON ฯลฯ
รูปแสดง ความหมายของ Web Service
ตัวอย่าง Web Service ที่พบเห็นกันบ่อยๆ ได้แก่ เว็บเซอร์วิสสภาพอากาศ โดยที่อุปกรณ์ไคลเอนต์ดึงข้อมูล อุณหภูมิ ภูมิอากาศของประเทศต่างๆ จากเซิร์ฟเวอร์ผ่านทางอินเตอร์เน็ต มาแสดงที่หน้าจอบนอุปกรณ์ของไคลเอนต์
จากตัวอย่างที่กล่าวมาแล้วทุกท่านคงจะเข้าใจกันแล้วว่า Web Service นั้นคืออะไร คราวนี้เราจะกลับมาพูดถึง Web Service แบบ REST ว่าคืออะไร
REST ก็คือซอฟต์แวร์รูปแบบหนึ่งที่พัฒนาขึ้นมา เพื่อใช้ในการแลกเปลี่ยนข้อมูลระหว่าง ไคลเอนต์ กับ เซิร์ฟเวอร์ โดยอาศัยโปรโตคอล HTTP ในการรับส่งข้อมูล และข้อมูลที่ใช้ในการแลกเปลี่ยนก็จะมีรูปแบบต่างๆ เช่น JSON, XML หรือ TEXT
รูปแสดง Web Service แบบ REST
เมื่อทุกท่านรู้จักกับ Web Service แบบ REST แล้วว่าคืออะไร เราจะมาทำความรู้จักกับโปรโตคอล HTTP ที่ใช้ในการรับส่งข้อมูลกันต่อว่า HTTP จะมีวิธีการรับส่งอย่างไรหรือที่เรียกกันว่า HTTP Method
HTTP Method คือคำสั่งที่ระบุการกระทำจากฝั่ง ไคลเอนต์ ร้องขอ(Requst)ไปยังฝั่ง เซิร์ฟเวอร์ ให้ดำเนินการกับข้อมูลหรือ ทรัพยากร ที่อยู่บนฝั่งเซิร์ฟเวอร์ และหลังจากดำเนินการเสร็จเรียบร้อยแล้วให้ส่งการตอบสนอง(Response) ตอบกลับมายังฝั่งไคลเอนต์
คำสั่ง HTTP มาตราฐานที่ใช้ร้องขอกันบ่อยๆ ได้แก่
GET: ใช้สำหรับดึงข้อมูลจากฝั่งเซิร์ฟเวอร์
POST: ใช้สำหรับสร้างข้อมูลใหม่บนฝั่งเซิร์ฟเวอร์
PUT: ใช้สำหรับแก้ไขข้อมูลที่มีอยู่แล้ว
DELETE: ใช้สำหรับลบข้อมูลที่มีอยู่แล้ว
รูปแสดง HTTP Method หรือคำสั่ง HTTP
ส่วนการตอบสนอง(Response) จะตอบกลับมาในรูปรหัส 3 หลัก ซึ่งจะแบ่งออกเป็น 5 ประเภท ได้แก่
100-199: Information เช่น 100 Continue, 101 Switching Protocols, 102 Processing, 103 Early Hints
200-299: Success เช่น 200 OK, 201 Created, 203 Non-Authoritative Information, 204 No Content
300-399: Redirection เช่น 300 Multiple Choices, 301 Moved Permanently, 302 Found
400-499: Client Error เช่น 404 Not Found, 400 Bad Request, 401 Unauthorized, 402 Payment Required, 403 Forbidden
500-599: Server Error เช่น 500 Internal Server Error, 501 Not Implemented, 502 Bad Gateway
รูปแสดง หน้าจอ 404 Not Found
มีคนสงสัยและถามมาว่า Web Service แบบ RESTful คืออะไร มีความแตกต่างกันอย่างไรกับแบบ REST
*RESTful คือ Web Service แบบ REST เหมือนกันสามารถใช้เรียกแทนกันได้ เพียงแต่แนวคิดในการสร้าง Web Service แบบ RESTful จะต้องอ้างอิงกับมาตราฐาน ครบทั้ง 5 ข้อ ดังนี้ จึงจะสามารถเรียกว่าเป็นแบบ RESTful
1) Resources มองทุกอย่างเป็น "ทรัพยากร" อาจจะเป็นข้อมูลหรือสิ่งใดๆ ที่ต้องการจัดการ
2) Statelessness ไม่มีการเก็บข้อมูลใดๆ เกี่ยวกับสถานะ (session) ระหว่างการร้องขอแต่ละครั้ง
3) Standard HTTP Methods วิธีที่ระบุ "การกระทำ" ใช้คำสั่ง HTTP มาตราฐาน ได้แก่ GET, POST, PUT, DELETE
4) Uniform Interface มีรูปแบบที่ชัดเจนในการร้องขอไปยัง เซิร์ฟเวอร์ ที่แยกกันระหว่าง REST และ Non-REST Web Service
5) Client-Server Separation แบ่งส่วนทรัพยากรกันอย่างชัดเจนระหว่าง ไคลเอนต์ และ เซิร์ฟเวอร์
หลังจากที่ทุกท่านได้ทำความรู้จักกับ Web Service แบบ REST กันเรียบร้อยแล้ว และเพื่อเป็นการทำความเข้าใจกับ Web Service แบบ REST นี้ให้มากยิ่งขึ้น เราจะมาลองทำการทดสอบเรียกใช้งานกันดู
ตัวอย่าง Web Service ที่ทาง www.seasunweb.com พัฒนาขึ้นมา เพื่อใช้ในการทดสอบ
https://seasunweb.com/webservice?province=all เป็น Web Service ข้อมูลจังหวัดทั้งหมด ในประเทศไทย
https://seasunweb.com/webservice?province=กรุงเทพ เป็น Web Service ข้อมูลอำเภอทั้งหมด ในแต่ละจังหวัดตามที่ระบุ
การร้องขอ(Request)
URL: https://seasunweb.com/webservice
METHOD: GET
DATA: province=all
การตอบสนอง(Response)
STATUS: 200 OK
DATA: {"name":"กระบี่"}, {"name":"กรุงเทพมหานคร"}, {"name":"กาญจนบุรี"}, {"name":"ขอนแก่น"}, ...
ในบทความนี้ผู้เขียนขอใช้โปรแกรม Postman สำหรับส่งการร้องขอไปยัง Web Service เพื่อทดสอบการทำงาน โดยมีขั้นตอนพื้นฐานดังนี้
1) เปิดโปรแกรม Postman ขึ้นมา
2) กดเลือกสร้าง Request ใหม่
3) เลือก HTTP Method เป็น GET
4) ใส่ URL ที่ต้องการร้องขอในช่อง "Enter URL or paste text" จากตัวอย่างด้านบน
https://seasunweb.com/webservice?province=all หรือ
https://seasunweb.com/webservice?province=xxxxx (xxxxx=ให้ใส่ชื่อจังหวัด)
5) กดปุ่ม Send เพื่อส่งการร้องขอ
6) ดูผลลัพธ์ การตอบสนอง ของการทำงาน จะปรากฏข้อมูลจังหวัดขึ้นมาในรูปแบบ JSON
รูปแสดง การตอบสนอง STATUS และ DATA
โดยสรุป Web Service แบบ REST เป็นเครื่องมือที่มีความสำคัญในการแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ต่างๆในโลกของ internet อีกทั้งยังมีขนาดเล็ก น้ำหนักเบาและมีความยืดหยุ่นสูง เหมาะสำหรับการพัฒนาเว็บแอปพลิเคชันสมัยใหม่ สำหรับใครที่สนใจและกำลังหาทีมงานในการพัฒนา Web Service แบบ REST ทางเรา www.seasunweb.com พร้อมที่จะแนะนำหรือให้คำปรึกษาในการออกแบบและพัฒนา Web Service ดังกล่าวให้ตรงตามความต้องการของท่าน โดยสามารถติดต่อเรามาที่เบอร์โทรหรืออีเมล่ที่แสดงอยู่ด้านล่างของเว็บไซต์หน้านี้
เลขที่บทความ: 25080102
แหล่งที่มา: www.seasunweb.com