ว่าง ๆ มาลองพัฒนา API ด้วย Oak
Oak มันมาจาก Koa
และ Koa ก็มาจากทีมพัฒนา Express ใน Node.js นั่นเอง
โดยที่ Oak อธิบายว่า เป็น middleware framework สำหรับการพัฒนา HTTP server
ดังนั้นความสามารถหลัก ๆ จึงประกอบไปด้วย
Middleware ต่าง ๆ ตามรูปแบบของ express และ koa
รวมทั้งยังมี Application และ Context ให้ใช้งาน
ปล. ใช้แนวคิดการเขียนเดิมจาก Node.js มาได้เลย
รูปแบบการเขียน code ไม่ได้ต่างจาก Express และ Koa มากนัก
อาจจะบอกว่า เหมือนกัน
[gist id="930416df2d3bdd1147d33318ef7e0e3e" file="server-hello.ts"]มาใส่ router แบบง่าย ๆ กันหน่อย
[gist id="930416df2d3bdd1147d33318ef7e0e3e" file="hello-route.ts"]หรือจะแยก router ออกมาให้สวยงามก็ทำได้เช่นกัน
โดยแยกไฟล์ route ออกกมา
[gist id="930416df2d3bdd1147d33318ef7e0e3e" file="user-routes.ts"]มีไฟล์รวมทุก ๆ route ดังนี้
[gist id="930416df2d3bdd1147d33318ef7e0e3e" file="index.ts"]เพียงเท่านี้ก็สามารถพัฒนาระบบ API ได้ง่าย ๆ ด้วย Oak framework ได้แล้ว
และยังมีพวกการจัดการ Error ผ่าน middleware ให้เป็นปกติ
จัดการ static file ได้แน่นอน
ความเร็วถือว่าแจ่มเลย
ลองใช้งานกันดูครับ