เครื่องมือสำหรับสร้าง TypeScript SDK และตัวจำลองม็อกจากไฟล์ Swagger.json
SDK (Software Development Kit) ในที่นี้ครอบคลุมความสามารถดังต่อไปนี้
- ชุดของฟังก์ชัน fetch
- โครงสร้าง DTO
- ตัวจำลองม็อก
เมื่อสร้างและใช้งาน SDK นักพัฒนาฝั่งฟรอนต์เอนด์ (ไคลเอนต์) จะสะดวกและปลอดภัยกว่าการอ่านเอกสาร swagger แล้วคัดลอกฟังก์ชัน fetch และชนิด DTO มาพิมพ์ใหม่มาก อีกทั้งยังม็อกแบ็กเอนด์เซิร์ฟเวอร์ด้วย msw ให้อัตโนมัติ ช่วยเพิ่มประสิทธิภาพการทำงานได้
6 ความคิดเห็น
บทความดีมาก ขอบคุณสำหรับแนวทางที่น่าสนใจครับ/ค่ะ อาจเป็นแค่ความชอบส่วนตัวของผม/ฉันก็ได้ แต่คิดว่าน่าจะดีกว่านี้ถ้าในส่วนเนื้อหาด้านบนมีตัวอย่างในลักษณะว่า "ใส่โค้ดแบบนี้เข้าไปแล้ว สิ่งที่เดิมเป็นแบบนี้ จะเปลี่ยนเป็นแบบนี้" ตอนนี้เนื้อหาหลักแทบจะไม่ดึงดูดสายตาเลยครับ/ค่ะ
ใน ecosystem ของ TS การดูเอกสารแล้วค่อยนิยาม type กับฟังก์ชันที่เกี่ยวข้องด้วยตนเองเป็นเรื่องปกติเหรอครับ?
ที่เกี่ยวข้องกัน มีไลบรารีชื่อ Tspec ที่สามารถสร้าง OpenAPI Spec อัตโนมัติโดยอิงจาก type ของ TypeScript ได้ครับ ฮ่าๆ
https://github.com/ts-spec/tspec
สำหรับ TS โค้ดที่
openapi-generatorสร้างขึ้นมาใช้งานได้ไม่ค่อยดีนักดูเหมือนว่านี่จะเป็นวิธีใช้งานของเครื่องมือที่คุณ samchon ซึ่งเป็นผู้โพสต์บทความนี้สร้างขึ้นเองโดยตรง ถ้าอย่างนั้นก็น่าจะไปอยู่ฝั่ง Show GN มากกว่าหรือเปล่าครับ
อย่างไรก็ตาม การนำไฟล์
swagger.jsonมาใช้เพื่อให้มี auto-completion ใน TypeScript client ก็ดูเป็นไอเดียที่ดีครับ ไม่ทราบว่าสามารถใช้กับ backend stack อื่นที่ไม่ใช่ NestJS ได้ด้วยหรือเปล่าครับ?ไม่เกี่ยวกับภาษาหรือเฟรมเวิร์ก ขอเพียงสามารถ build
swagger.jsonตามสเปก OpenAPI v3.0 ได้ก็พอก่อนหน้านี้ผมก็เคยโพสต์บทความบล็อกพร้อมติด
show GNมาก่อน แต่ตอนนั้นผู้ดูแลบอกว่าshow GNเป็นพื้นที่สำหรับโพสต์แค่ GitHub หรือลิงก์โปรเจกต์ จึงย้ายไปเป็นบทความทั่วไปให้ครับ