ปัญหาและคำถามหนึ่งที่น่าสนใจ สำหรับการพัฒนาระบบ 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 ครับ