ก่อนหน้านี้ทำการพัฒนา Go HTTP service นั้น
ใช้งานทั้ง net/http, Echo และ Gin เป็นหลัก
แต่มีอีกตัวที่น่าสนใจคือ Chi
หลัก ๆ ทำงานในส่วนของ router สำหรับ REST API
โดยที่สนับสนุน context package ของ Go ด้วย
จุดเด่นของ Chi ประกอบไปด้วย
- มีขนาดเล็ก โดย code ประมาณ 1,000 บรรทัด และไม่มี depenedncy อื่น ๆ นอกจาก G standard และ net/http package เท่านั้น
- มี Middleware ให้ใช้เพียบ
- เร็วใช้ได้เลย
- จัดการ router ง่ายมาก ๆ ทั้งจัด group และ sub-group
- Doc generation (docgen) ทำการสร้างเอกสารจาก code ในรูปแบบ JSON หรือ Markdown แต่ยังไม่สนับสนุน Chi version 5
ลองเขียนนิดหน่อย
เริ่มจากการสร้าง router ของระบบก่อน
และใช้ middleware ตัวเดียวคือ Logger
ทำในส่วนของการทำงานของ /post นิดหน่อย
เพียงเท่านี้ก็สามารถใช้งานแบบง่าย ๆ ได้แล้ว
ว่าง ๆ มาลองใช้กันดูครับ
เล็ก แรงดี
เป็นอีกหนึ่งทางเลือกของการพัฒนา