0Pricing
TypeScript Academy · บทเรียน

การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ

สร้างชนิด TypeScript จากข้อกำหนด OpenAPI

การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

OpenAPI codegen จะสร้างชนิด TypeScript และโค้ดไคลเอ็นต์จากข้อกำหนด API ทำให้ไม่ต้องดูแลชนิดด้วยตนเอง

เหตุผลที่ควรใช้ Codegen

การเขียนชนิดด้วยตนเองสำหรับ API ขนาดใหญ่มีโอกาสเกิดข้อผิดพลาดและไม่สอดคล้องกัน Codegen จะสร้างชนิดจากแหล่งข้อมูลจริงเพียงแหล่งเดียว นั่นคือข้อกำหนด OpenAPI

openapi-typescript

openapi-typescript จะสร้างชนิด TypeScript จากไฟล์ข้อกำหนด OpenAPI
npm install -D openapi-typescript
npx openapi-typescript ./api.yaml -o ./src/types/api.ts

ชนิดที่สร้างขึ้น

เครื่องมือจะสร้างชนิดของพาธ การดำเนินการ และสคีมา
import type { paths } from './types/api';
type GetUserResponse = paths['/users/{id}']['get']['responses']['200']['content']['application/json'];

ไคลเอ็นต์ openapi-fetch

ใช้ openapi-fetch ร่วมกับชนิดที่สร้างขึ้นเพื่อสร้างไคลเอ็นต์ที่มีชนิดกำกับอย่างครบถ้วน
import createClient from 'openapi-fetch';
const client = createClient<paths>({ baseUrl: 'https://api.example.com' });
const { data, error } = await client.GET('/users/{id}', { params: { path: { id: 1 } } });

Swagger Codegen

Swagger Codegen จะสร้าง SDK ไคลเอ็นต์แบบเต็มใน TypeScript
npm install @openapitools/openapi-generator-cli -g
openapi-generator-cli generate -i api.yaml -g typescript-axios -o ./src/client

orval

orval จะสร้างฮุก React Query และสคีมา Zod จากข้อกำหนด OpenAPI
npm install -D orval
orval --input api.yaml --output src/api

การทำให้ชนิดสอดคล้องกัน

เรียกใช้ codegen ใน CI เพื่อตรวจจับความคลาดเคลื่อนระหว่างข้อกำหนดกับชนิดที่สร้างขึ้น

การพัฒนา API โดยใช้สคีมาเป็นหลัก

กำหนดข้อกำหนด OpenAPI ก่อน สร้างชนิดและโค้ดไคลเอ็นต์ จากนั้นจึงพัฒนาเซิร์ฟเวอร์

MSW กับชนิดที่สร้างขึ้น

ใช้ Mock Service Worker ร่วมกับชนิดที่สร้างขึ้นเพื่อจำลอง API ในการทดสอบอย่างปลอดภัยตามชนิด

การสร้าง URL อย่างปลอดภัยตามชนิด

ไคลเอ็นต์ที่สร้างขึ้นจะบังคับให้พารามิเตอร์พาธและรูปแบบสตริงคำค้นถูกต้อง

ตรวจสอบสั้น ๆ

ประโยชน์หลักของการใช้ OpenAPI TypeScript codegen คืออะไร

สรุปทบทวน

OpenAPI Codegen: ชนิดที่สร้างขึ้นโดยอัตโนมัติ: คุณเชี่ยวชาญแนวคิดสำคัญและรูปแบบการใช้งานแล้ว

คำถามที่พบบ่อย

บทเรียน “การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ”

สร้างชนิด TypeScript จากข้อกำหนด OpenAPI คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การระบุชนิดการตอบกลับของ Fetch ด้วยตัวห่อหุ้มเจเนอริก
  2. การตรวจสอบขณะทำงานด้วย Zod
  3. การสร้างโค้ด OpenAPI: ชนิดที่สร้างโดยอัตโนมัติ
  4. ภาพรวมไคลเอนต์ tRPC ที่ปลอดภัยด้านชนิด
← กลับไปที่ TypeScript Academy