เริ่มต้นเขียน Rest API อย่างง่าย ด้วย PHP (ตอนที่ 1) — OPDEV.MEN

สวัสดีครับ ว่าด้วยเรื่อง API หรือที่เรียกชื่อเต็มๆว่า Application Programming Interface คนที่เขียนโปรแกรม หรือเว็บไซต์ส่วนมากจะทราบกันดีว่า คือบริการๆหนึ่งบนอินเตอร์เน็ต ซึ่งเปิดให้นักพัฒนาสามารถร้องขอข้อมูลจากผู้ให้บริการนั้นๆได้ โดยอาจเปิดเป็นสาธารณะ หรือต้องสมัครสมาชิกก่อนก็ได้ เช่นเราต้องการทราบว่าตำแหน่งละติจูต และลองติจูตนี้ อยู่ตรงส่วนไหนของแผนที่โลก เราก็สามารถเรียกใช้บริการแผนที่ API ของกูเกิ้ล อย่าง Google Map API เพื่อเข้าถึงบริการแผนที่ เป็นต้น ส่วนใครยังไม่รู้จัก API แนะนำให้ไปอ่านบล็อกนี้ได้เลยครับ อธิบายไว้ละเอียดมาก API คืออะไร? อธิบายแบบคนไม่เขียนโปรแกรมรู้เรื่องได้มั้ย?

และหลังจากที่ผมได้ขอใช้งาน API ชาวบ้านเขาไปทั่ว ก็มีแววว่าจำเป็นต้องสร้าง API เพื่อใช้งานเองบ้างแล้วหละ(ผมรับทำแชทบอท) เนื่องจากลูกค้าท่านล่าสุด ต้องการเชื่อมโยงแชทบอทเข้ากับ ฐานข้อมูลของเว็บไซต์ E-Commerce ของเขา เพื่อตรวจสอบว่าสินค้ายังเหลืออยู่ในสต็อกหรือไม่ และเป็นที่มาของบทความนี้นี่เอง

โค๊ดตัวอย่างด้านล่างนี้ เขียนด้วยภาษา PHP(เพราะเว็บลูกค้าใช้ PHP) จะเห็นได้ว่าในส่วนของ Header เพียงเรากำหนด Methods และ Content-Type ให้เป็นดังตัวอย่าง หน้า PHP หน้านี้ก็จะรองรับ Request ที่ต้องการ GET หรือ POST ข้อมูลได้ ด้วยการสื่อสารกันผ่าน JSON

ในส่วนของ $output ก็คือสิ่งที่เราจะส่งกลับไปยังผู้ใช้ เมื่อมีการร้องขอ(GET) ดังตัวอย่างผมต้องการจะส่ง ออบเจ็ค ก้อนหนึ่งที่ประกอบไปด้วย messages และบรรจุ text สองตัวด้านใน

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: access");
header("Access-Control-Allow-Methods: GET,POST");
header("Access-Control-Allow-Credentials: true");
header('Content-Type: application/json;charset=utf-8');


$output= '{
 "messages": [
   {"text": "This Form OPDEV API"},
   {"text": "Connection Success !"}
 ]
}';

print_r($output);
?>

หากลองเซฟไฟล์นี้ และอัพโหลดขึ้น Server ของเรา ในที่นี้ผมอัพขึ้นไปที่ https://opdev.men/api/example-api.php  ผมก็จะได้เป็น API ตัวหนึ่ง เมื่อใดที่มีการร้องขอมายังไฟล์ดังกล่าว จะส่งค่า JSON ที่เราได้กำหนดเอาไว้ใน Code กลับไปยังผู้ใช้ ซึ่งเราสามารถประยุกต์ Code ให้ Advance ขึ้นได้ตามความต้องการของเราได้ เช่นเมื่อมีการร้องขอมาก็ทำการคิวรี่ข้อมูล โดยใช้ mysqli_query ก่อน แล้วค่อยส่งข้อมูลให้ก็ได้ แต่บทความนี้ขอเป็นตัวอย่างง่ายๆก่อนละกันเนาะ

ผลลัพท์เมื่อร้องขอ

ลองทดสอบด้วยโปรแกรม Postman โดยการร้องขอไปยังที่อยู่ไฟล์ของผม ก็จะได้รับผลตอบกลับเป็น JSON ดังภาพครับ ซึ่งนี่เป็นเพียงตัวอย่างแบบง่ายๆ ในการสร้าง API สักตัวหนึ่ง ด้วยภาษา PHP อันที่จริงการสร้าง API ยังมีเบื้องลึกเบื้องหลังอยู่อีกมากครับ เช่นการยืนยันตัวตนโดยการใช้ Token การใช้ Methods อื่นๆนอกจาก Get และแน่นอน หากหัวข้อไหนน่าสนใจ ผมจะแวะมาบ่นให้ฟังในโอกาสต่อไปนะครับ วันนี้ขอตัวไปปั่นงานก่อนหละครับ บ๊าย บาย…

Facebook Comments

Also published on Medium.