Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

[Python]สร้าง API ง่าย ๆ ด้วย Flask และ Connexion

$
0
0

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

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

[code] Flask connexion [/code]

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

จากตัวอย่างต้องการ API มี endpoint คือ /v1/product สำหรับดึงข้อมูลสินค้าทั้งหมดจากระบบ โดยที่ api จะส่งข้อมูล list ของ product กลับมา Product แต่ละชิ้นประกอบไปด้วย id, name และ price ดังนั้นสามารถเขียนได้ดังนี้ [gist id="82038d4af0be1eb2aa74d1db0efff132" file="sample.yaml"] จะสังเกตได้ว่า จะมี property ชื่อว่า operationId ใช้สำหรับกำหนดชื่อ method เริ่มต้นการทำงานของ API ชื่อว่า /product

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

[gist id="82038d4af0be1eb2aa74d1db0efff132" file="api.py"]

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

[gist id="82038d4af0be1eb2aa74d1db0efff132" file="app.py"]

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

ได้ผลการทำงานดังนี้ หน้า API /v1/product หน้าของ API Specification ในรูปแบบของ Swagger เพียงเท่านี้เราก็ได้ API แบบง่าย ๆ จากการเขียน Specification กันแล้ว ที่สำคัญได้โครงสร้าง code ของระบบงานอีกด้วย ขอให้สนุกกับการเขียน code ครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles