ตัวตรวจสอบ OpenAPI YAML
วาง openapi.yaml ของคุณ แล้วตัวตรวจสอบจะตรวจส่วนที่สเปคทุกฉบับต้องมี ได้แก่ ฟิลด์เวอร์ชัน อ็อบเจกต์ info ที่มี title และ version และอ็อบเจกต์ paths นอกจากนี้ยังเตือนเรื่องคีย์พาธที่ไม่ขึ้นต้นด้วยเครื่องหมายทับ และคีย์การดำเนินการที่ไม่รู้จัก
วิธีตรวจไฟล์ OpenAPI YAML
-
1
คัดลอก YAML
คัดลอกเนื้อหาทั้งหมดของ `openapi.yaml` หรือ `swagger.yaml` โดยรักษาการย่อหน้าให้เหมือนเดิมทุกประการ
-
2
วางลงในช่องกรอก
วางลงในช่องเอกสาร OpenAPI / Swagger ใน YAML การย่อหน้าคือโครงสร้างเอง จึงไม่ควรพิมพ์ใหม่หรือจัดวางใหม่
-
3
เรียกการตรวจสอบ
ไปยังขั้นตอนผลลัพธ์และอ่านข้อผิดพลาดกับคำเตือน
-
4
แก้ไขและตรวจอีกครั้ง
แก้รายการที่ถูกระบุในไฟล์ของคุณ แล้ววางเวอร์ชันใหม่และเรียกการตรวจอีกครั้ง
เหตุใดการย่อหน้าจึงมีผลต่อผลลัพธ์
ใน YAML การซ้อนของคีย์เป็นตัวกำหนดว่าฟิลด์ใดอยู่ในอ็อบเจกต์ใด หาก version อยู่ระดับเดียวกับ info แทนที่จะย่อหน้าลงมาหนึ่งระดับ เอกสารยังคงเป็น YAML ที่อ่านได้ แต่ info.version จะหายไปและการตรวจจะรายงานว่าไม่มี เรื่องเดียวกันนี้ใช้กับ paths ด้วย หากคีย์พาธถูกย่อหน้าไปอยู่ใต้ info โดยผิดพลาด อ็อบเจกต์ paths ระดับบนสุดจะหายไป
ให้ใช้การเว้นวรรคแทนแท็บ และรักษาระยะย่อหน้าให้คงที่ เช่น สองช่องว่างต่อหนึ่งระดับ
ตัวอย่างการทำงาน
openapi: 3.0.3
info:
title: Pets API
paths:
/pets:
get:
summary: List pets
ฟิลด์เวอร์ชัน info.title และ paths มีอยู่ครบ /pets ขึ้นต้นด้วยเครื่องหมายทับ และ get เป็นเมธอดที่รู้จัก สิ่งที่ขาดไปมีเพียงอย่างเดียวคือ info.version รายงานจะแสดงดังนี้
| สิ่งที่พบ | ชนิด |
|---|---|
| info.version is required. | ข้อผิดพลาด |
เพิ่ม version: 1.0.0 ใต้ info โดยย่อหน้าสองช่องว่าง เอกสารก็จะถูกรายงานว่าโครงสร้างถูกต้อง
ทำให้เอกสารเรียบง่ายเพื่อให้อ่านได้น่าเชื่อถือ
การตรวจจะอ่านแมปปิง YAML ธรรมดาได้ดีที่สุด คือคู่ key: value ที่เรียบง่ายและซ้อนกันด้วยการย่อหน้าที่สม่ำเสมอ หากเอกสารที่มีฟีเจอร์ขั้นสูงของ YAML เช่น แองเคอร์หรือบล็อกหลายบรรทัด ถูกรายงานว่าอ่านไม่ได้หรือแสดงฟิลด์ที่หายไป ให้ลองใช้สำเนา JSON ของสเปคเดียวกันเพื่อยืนยันว่าปัญหาอยู่ที่เนื้อหาหรือที่ไวยากรณ์ YAML
ผลลัพธ์ที่สะอาดยืนยันเพียงโครงร่างเท่านั้น ไม่ได้แก้ลิงก์ $ref และไม่ได้ตรวจสคีมา
ขั้นตอนการทำงานที่ใช้ได้จริงสำหรับสเปค YAML
แก้ไขทีละขั้นเล็ก ๆ แล้วตรวจใหม่ทุกครั้ง หลังจากเพิ่มพาธใหม่หรือย้ายบล็อก ให้วางไฟล์อีกครั้ง เพื่อจับการย่อหน้าที่ผิดได้ขณะที่การเปลี่ยนแปลงยังสด หากคุณแยกสเปคขนาดใหญ่ออกเป็นหลายไฟล์ ให้วางเวอร์ชันที่รวมแล้ว เพราะการตรวจนี้อ่านเฉพาะข้อความที่คุณให้ และไม่โหลดไฟล์อื่น ให้คัดลอกจากตัวแก้ไขโค้ด ไม่ใช่จากหน้าเว็บที่แสดงผลแล้ว เพราะหน้าเว็บอาจเปลี่ยนช่องว่างและเครื่องหมายคำพูดเป็นอักขระที่หน้าตาคล้ายกัน ซึ่งจะเปลี่ยนวิธีที่ YAML ถูกอ่าน
สุดท้าย โปรดจำว่ารายงานแสดงเฉพาะสิ่งที่การตรวจมองเห็นได้ ไฟล์ YAML ที่ผ่านการตรวจแปลว่าโครงร่างระดับบนสุดถูกต้อง แต่ไม่ได้หมายความว่าทุกการดำเนินการ สคีมา หรือการอ้างอิงภายในนั้นถูกต้อง
คำถามที่พบบ่อย
ใช้การเว้นวรรค YAML ไม่รับแท็บสำหรับการย่อหน้า และแท็บอาจทำให้เอกสารอ่านไม่ได้ หรือทำให้ฟิลด์ย้ายไปอยู่ผิดระดับ
โดยทั่วไปฟิลด์นั้นถูกย่อหน้าผิดระดับ จึงไปอยู่ในอ็อบเจกต์อื่นที่ไม่ใช่ที่คุณตั้งใจ ให้เปรียบเทียบการย่อหน้าของฟิลด์กับคีย์แม่
การตรวจนี้ดูเพียงว่ามีฟิลด์ openapi หรือ swagger อยู่หรือไม่ ไม่ได้ดูค่า ดังนั้นทั้งแบบมีและไม่มีเครื่องหมายคำพูดผ่านได้เหมือนกัน อย่างไรก็ตาม การใส่ "2.0" ในเครื่องหมายคำพูดสำหรับ Swagger ยังเป็นนิสัยที่ดี
ได้ ข้อความจะถูกอ่านเป็น JSON ก่อน และหากไม่สำเร็จจึงอ่านเป็น YAML ดังนั้นทั้งสองรูปแบบใช้ได้ในช่องเดียวกัน
เครื่องมือที่เกี่ยวข้อง
ตัวสร้างการตั้งค่า Webpack
สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install
เครื่องแปลงฐานตัวเลข
แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก
ตัวแปลง Timestamp
แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
เครื่องสุ่มที่อยู่
สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
เครื่องมือนี้มีให้บริการในภาษาอื่น
- OpenAPI YAML バリデーター [JA]
- Walidator OpenAPI YAML [PL]
- OpenAPI YAML-validerare [SV]
- Validator OpenAPI YAML [ID]
- مدقق OpenAPI بصيغة YAML [AR]
- OpenAPI YAML Validator [DE]
- OpenAPI YAML Validator [NL]
- Validador OpenAPI YAML [PT]
- Công cụ kiểm tra OpenAPI YAML [VI]
- Validador de OpenAPI YAML [ES]
- OpenAPI YAML 검증기 [KO]
- Validateur OpenAPI YAML [FR]
- OpenAPI YAML Validator [EN]
- Validatore OpenAPI YAML [IT]
- Валидатор OpenAPI YAML [RU]
- OpenAPI YAML Doğrulayıcı [TR]
- OpenAPI YAML 验证器 [ZH]