[การสร้าง API อย่างง่ายด้วย Laravel 5 ไม่ต้องติดตั้งอะไรเพิ่ม! สำหรับผู้เริ่มต้น]


การออกแบบโครงสร้างของโปรแกรม ส่วนหนึ่งที่อาจจะต้องเข้ามาเกี่ยวข้องในระบบคือ API (application programming interface) เรียกอีกชื่อว่า 3rd party (เติดท์ ปาร์ตี้) อาจจะเคยได้ยินหรือเคยทำมาบ้าง เอาล่ะเอามาทำในรูปแบบของ Laravel กัน

พูดถึงหน้าที่ของ API ออกแบบมาเพื่ออะไร ?
- จัดการหัวใจของการทำงานในระบบ ไม่ว่าจะเป็นการ อ่านเขียน กระบวนการประมวลผลทางด้านข้อมูลหรือการ เชื่อต่อกับ  3rd party อีกทีหนึ่ง ง่าย ๆคือ สร้างไว้เพื่อให้คนอื่นมาใช้และในขณะเดียวกันอาจไปเรียกใช้ข้อมูลที่อื่นด้วย

- สามารถ cross platform นี่คือจุดเด่นเลยก็ว่าได้ โดยอาศัยภาษากลางในการคุยกัน เปรียบเหมือนเราคุยกันกับต่างชาติโดยใช้ภาษาอังกฤษ  api ก็มีภาษากลางตัวอย่างเช่น JSON 

และอื่น ๆ ลองค้นหาใน google ได้ครับมีเยอะแยะมากมาย

เอาล่ะเรามาเริ่มกันเลย ก่อนอื่นต้องทำการติดตั้ง Laravel ก่อนน่ะครับ หากยังไม่ได้ทำการติดตั้งก็ทำการติดตั้งให้เรียบร้อย ซึ่งวิธีการติดตั้งผมได้เขียนไว้ใน บทความก่อนหน้านี้หาอ่านกันได้ เมื่อติดตั้ง Laravel เสร็ดเรียบร้อยแล้ว ก็เริ่มจากมาสร้าง Controller กันก่อนโดยใช้คำสั่ง
php artisan make:controller ApiControllerName  ดังภาพ


ตัว artisan จะทำการสร้างไฟล์ Controller มาให้โดยอัตโนมัติครับพร้อมกับ Function พื้นฐานที่ควรจะมี


เมื่อเราได้ Controller เสร็ดแล้ว ต่อมาเราก็สร้าง Route เพื่อเรียกใช้งาน Controller ครับ โดยการเพิ่ม function เข้าไป ที่ไฟล์ app\Http\routes.php ดังภาพ


ทำการบันทึกไฟล์ อธิบายเพิ่มเติม route สามารถเขียนได้หลาย ๆ แบบ ทั้งแบบเฉพาะเจาะจงหรือแบบรวมฟังก์ชั่นให้โดยอัตโนมัติโดยใช้ resource เราจะได้ route มาครบ ทั้ง get post put update delete ตรวจสอบว่า route ของเราทำงานได้ถูกต้องหรือไม่โดยรันคำสั่ง php artisan route:list 


เมื่อเราได้ route มาครบล่ะต่อมาทำการแก้ไขไฟล์ Controller เพื่อทำ Logic ที่เราต้องการครับ กลับไปที่ไฟล์ controller ที่เราสร้างขึ้นมาในตอนแรกครับ  ตัวอย่างนี้ผมจะทำ Response อย่างง่าย เพื่อให้เห็นภาพครับ โดยการทำ Respson เป็น Json ดังภาพ


ทำการบันทึกไฟล์ ทดสอบดูโดย เว็บบาวเซอร์หรือ tool อื่น ๆก็ได้ครับ ตัวอย่างนี้ผมใช้ Postman ในการทดสอบ ซึ่งเป็นเครื่องมือที่ออกแบบมาเพื่อการทดสอบ Api เลยก็ว่าได้ คุณสมบัติครบถ้วน ตัว Postman เป็น Extension ของ google Chrome ครับ หาโหลดได้ฟรี แต่หากอยากได้พวก unit test ต้องเสียเงินเพิ่มครับ เอาล่ะมาลองดูผลทดสอบกัน



ผลการทดสอบก็ไม่มีอะไรมากครับตามที่เราเขียนเอาไว้ แต่ที่จะให้เห็นภาพคือ การพ่น JSON ออกมาของ Api นั่นเอง โดยตัว api เองจะไม่พ่น HTML ออกมา แต่ข้อมูลจะถูกส่งออกมาในรูปแบบ JSON นั่นเอง















จะแตกต่างจากที่เรา echo Json_decode(array()); ครับ อาจจะไม่ได้ Header เป็น JSON ตามที่เราต้องการ

จริง ๆ มัน Library ที่เราควรเลือกใช้ในการสร้าง Api ครับคือ Rest  (Representational State Transfer) ก็ทำงานไม่ต่างกันมากครับ แต่จะช่วยเราจัดการพวก Header ของ HTTP Reponse Code พวก 200,300,400,500 code เหล่านี้นั้นเองครับ เครื่องมือ Postman ขอแนะนำเลยว่าควรค่าอย่างยิ่งสำหรับผู้ที่สร้าง Api เป็นของตัวเอง
Share on Google Plus

About maxcom

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 ความคิดเห็น:

แสดงความคิดเห็น