วันนี้มีโอกาสได้แบ่งปันความรู้สำหรับการสร้าง API ด้วยภาษา Python
โดยสิ่งที่ต้องการคือ

  • พัฒนาได้ง่าย
  • ยิ่งถ้าสร้างจาก specification บางอย่างด้วยน่าจะดี
  • ขนาดไม่ใหญ่
  • ไม่ซับซ้อน

ดังนั้นจึงเลือก Flask ซึ่งเป็น microframework สำหรับการพัฒนาระบบ web
รวมทั้งใช้ Connexion เพื่อช่วยทำการสร้าง API แบบอัตโนมัติ
จากการกำหนดค่าต่าง ๆ ในรูปแบบ OpenAPI หรือ Swagger Specification นั่นเอง
ซึ่งน่าจะเป็นทางเลือกที่น่าสนใจ
มาลองใช้งานกัน

ขั้นตอนที่ 1 สร้างไฟล์ requirements.txt เพื่อกำหนด library ที่ใช้

Flask
connexion

ขั้นตอนที่ 2 สร้างไฟล์สำหรับเขียน specification ของ API ที่ต้องการ

จากตัวอย่างต้องการ API มี endpoint คือ /v1/product
สำหรับดึงข้อมูลสินค้าทั้งหมดจากระบบ
โดยที่ api จะส่งข้อมูล list ของ product กลับมา
Product แต่ละชิ้นประกอบไปด้วย id, name และ price
ดังนั้นสามารถเขียนได้ดังนี้

จะสังเกตได้ว่า
จะมี property ชื่อว่า operationId
ใช้สำหรับกำหนดชื่อ method เริ่มต้นการทำงานของ API ชื่อว่า /product

ขั้นตอนที่ 3 สร้างส่วน operation สำหรับ API สิ

ขั้นตอนที่ 4 สร้างส่วนการทำงานหลักด้วย Flask และ Connexion

ขั้นตอนที่ 5 ทำการ run สิ

ได้ผลการทำงานดังนี้

หน้า API /v1/product

หน้าของ API Specification ในรูปแบบของ Swagger

เพียงเท่านี้เราก็ได้ API แบบง่าย ๆ จากการเขียน Specification กันแล้ว
ที่สำคัญได้โครงสร้าง code ของระบบงานอีกด้วย

ขอให้สนุกกับการเขียน code ครับ