PlusMagi's Blog By Pitt Phunsanit Backend,Database VS Code: run Swagger-Editor

VS Code: run Swagger-Editor

ในฐานะ Senior Architect การพัฒนา API ที่มีประสิทธิภาพนั้น ไม่ได้จบแค่การเขียนโค้ดเท่านั้น แต่รวมถึงการสร้างเอกสารประกอบ (Documentation) ที่ชัดเจนด้วย ซึ่ง Swagger Editor คือเครื่องมือมาตรฐานที่ใช้ในการสร้าง OpenAPI Specification สำหรับ RESTful API

เมื่อเราใช้ PostgreSQL เป็นระบบฐานข้อมูลหลัก (Source of Truth) การผสานรวมการทดสอบและการสร้างเอกสาร API เข้ากับสภาพแวดล้อมการพัฒนา (Development Environment) อย่าง VS Code จึงเป็นสิ่งสำคัญอย่างยิ่ง บทความนี้จะแนะนำวิธีการตั้งค่า VS Code ให้สามารถรันกระบวนการสร้างและทดสอบ API ที่เชื่อมต่อกับ PostgreSQL ได้อย่างง่ายดายด้วยคำสั่ง ‘Run and Debug’ โดยไม่ต้องใช้ Command Line บ่อยครั้ง

🛠️ หลักการทำงาน: การผสาน Swagger กับ PostgreSQL ใน VS Code

โดยปกติแล้ว การรัน Swagger Editor จะต้องมีการติดตั้ง Dependencies และรันคำสั่งผ่าน Terminal แต่เราสามารถใช้ไฟล์กำหนดค่าเฉพาะของ VS Code คือ .vscode/launch.json และ .vscode/tasks.json เพื่อให้ VS Code จัดการกระบวนการเหล่านี้ให้เราโดยอัตโนมัติ

1. การสร้างไฟล์ .vscode/launch.json

ไฟล์ launch.json ใช้สำหรับกำหนดจุดเริ่มต้น (Launch Configuration) ของแอปพลิเคชัน เมื่อเราต้องการให้ VS Code ทำงานบางอย่างอัตโนมัติ เช่น การเชื่อมต่อฐานข้อมูล PostgreSQL เพื่อดึง Schema มาสร้าง Model สำหรับ Swagger

คุณต้องสร้างโฟลเดอร์ .vscode ใน Root Project และสร้างไฟล์ launch.json ด้วยโครงสร้างที่ปรับให้เข้ากับการรัน PostgreSQL Client หรือ Migration Script ตัวอย่าง:

JSON

{ 
	"configurations": [
		{
			"name": "Start PostgreSQL API Test",
			"type": "node",
			"request": "launch",
			"runtimeExecutable": "npm",
			"runtimeArgs": ["run", "test:db"], 
			"cwd": "${workspaceFolder}",
			"console": "integratedTerminal",
			"internalConsoleOptions": "neverOpen"
		}
	]
}

2. การสร้างไฟล์ .vscode/tasks.json

ไฟล์ tasks.json ใช้สำหรับกำหนดชุดคำสั่ง (Task) ที่เราต้องการให้รัน ซึ่งมักใช้สำหรับงานที่ไม่ได้เกี่ยวข้องกับการรันแอปพลิเคชันโดยตรง เช่น การ Build, การ Migrate ฐานข้อมูล หรือการ Generate Schema จาก PostgreSQL

เราจะกำหนด Task สำหรับการรันคำสั่งเพื่อตรวจสอบการเชื่อมต่อ PostgreSQL และเตรียมข้อมูลสำหรับ Swagger Editor ตัวอย่าง:

JSON

{ 
	"tasks": [
		{
			"label": "Run PostgreSQL Schema Check",
			"type": "shell",
			"command": "psql",
			"args": [
				"-h", "localhost",
				"-U", "user",
				"-d", "api_db",
				"-c", "SELECT 'apple,banana,orange' AS items;"
			],
			"group": "build",
			"detail": "Checks connection and retrieves sample data from PostgreSQL"
		}
	]
}

🚀 วิธีการใช้งานจริง

เมื่อตั้งค่าไฟล์ทั้งสองเรียบร้อยแล้ว คุณสามารถไปที่เมนู Run and Debug (Ctrl+Shift+D) และเลือก ‘Start PostgreSQL API Test’ เพื่อให้ VS Code รันคำสั่งที่กำหนดไว้ใน tasks.json โดยอัตโนมัติ ผลลัพธ์ที่ได้คือข้อมูลที่ถูกดึงมาจาก PostgreSQL ซึ่งเราสามารถนำไปใช้เป็นตัวอย่างข้อมูล (Sample Data) ในการสร้าง Swagger Specification ได้อย่างสมบูรณ์

✅ บทสรุป

การใช้ launch.json และ tasks.json ไม่เพียงแต่ช่วยให้การรัน Swagger Editor ง่ายขึ้นเท่านั้น แต่ยังช่วยให้เราสามารถผสานกระบวนการที่ซับซ้อนอย่างการเชื่อมต่อและดึงข้อมูลจาก PostgreSQL เข้ามาเป็นส่วนหนึ่งของวงจรการพัฒนา API ได้อย่างราบรื่น ทำให้มั่นใจได้ว่าเอกสาร API ที่เราสร้างขึ้นนั้นมีความถูกต้องและอัปเดตอยู่เสมอตามโครงสร้างของฐานข้อมูลจริง

Exit mobile version