
ปัญหาและคำถามหนึ่งที่น่าสนใจ สำหรับการพัฒนาระบบ API คือ
ถ้าระบบงานของเราไม่มี API Document เช่น Swager หรือ OpenAPI และ Scalar
เราจะสร้างขึ้นมาอย่างไรดี
แถม code ก็ไม่สามารถแก้ไขอะไรได้อีก (ทั้งไม่มีสิทธิ์ และ code เก่ามาก ๆ)
ดังนั้นมาดูแนวทางการแก้ไขกันหน่อย
แนวทางการแก้ไขจากเงื่อนไขและข้อจำกัดต่าง ๆ
สามารถทำงานดังนี้
- ทำแบบ manual เองเลย
- ทำการสร้างจาก access log ที่มีของระบบ ว่าแต่มีการบันทึก request และ response ไว้หรือไม่
- ทำ proxy มากั้นเพื่อ capture ข้อมูลของ traffic ในการทดสอบไว้
สิ่งที่เลือกคือ การใช้ proxy มาช่วย
จากนั้นก็ดูว่ามีเครื่องมืออะไรบ้าง
พบว่ามีเครื่องมือในการ capture เยอะมาก ๆ
แต่มีอยู่ตัวหนึ่งที่ไม่ได้เพียงแค่ capture traffic เท่านั้น
แต่ยังสร้าง API document ตาม spec ของ Swagger/Open API ให้เลย
ไม่พอ ยังทำการสร้าง postman collection ให้อีกด้วย
นั่นคือ DocuRift
มาลองใช้งานกันดู
โครงสร้างการทำงานของ Docurift เป็นดังรูป

ลองติดตั้งและใช้งาน
คำอธิบาย
- กำหนด backend url ไปยังชื่อ Host และ Post ของ API
- ทำการกำหนด port ของ proxy server
- ทำการกำหนด port ของ analyzer server สำหรับดูเอกสารต่าง ๆ ทั้ง Swagger/Open API และ Postman collection
เมื่อทุกอย่างเรียบร้อยลอง start API server
และกำหนด proxy ที่ browser หรือ ผ่านเครื่องมือต่าง ๆ ให้ชี้ไปยัง Docurift proxy port
จากนั้นก็เริ่มใช้งานระบบ
ทาง Docurift จะ generate report ให้แบบ realtime กันเลย
จะได้ผลการทำงานดังนี้
API Document ในรูปแบบ Swagger/Open API
ดูผ่าน analyzer port ได้เลย จากตัวอย่างคือ 9877

Postman Collection
ดูผ่าน URL = http://localhost:9877/postman.json
เอามาเปิดใน Postman ได้ผลดังนี้

ได้สิ่งที่ต้องการแล้วแบบง่าย ๆ
น่าจะเป็นอีกหนึ่งแนวทาง
ลองนำไปใช้กันดู
ขอให้สนุกกับการ coding ครับ