Kiểm tra và chuyển đổi OpenAPI / Swagger online miễn phí
Kiểm tra OpenAPI 3.0, 3.1, 3.2 và Swagger 2.0 theo schema chính thức, lint lỗi hay gặp, liệt kê endpoint, YAML ↔ JSON, nâng Swagger 2 lên OAS 3.
Kết quả
Bấm “Chạy” để xem kết quả.
Gửi tài liệu API ở spec (text YAML hoặc JSON, hoặc object JSON), dưới dạng body text, hoặc cho url của nó. Với action=validate (mặc định), tài liệu được kiểm tra theo JSON Schema chính thức của đúng phiên bản do OpenAPI Initiative công bố (Swagger 2.0, OpenAPI 3.0, 3.1 và 3.2, cập nhật hằng tuần) và danh sách lỗi được lọc còn những lỗi có ích: với các nhánh oneOf, chỉ báo lỗi của nhánh mà bạn nhiều khả năng định viết, kèm JSON pointer của từng lỗi.
Bộ lint có sẵn bổ sung những gì schema không thấy: $ref không trỏ được, operationId trùng, tham số path thiếu trong parameters hoặc không có trong đường dẫn, tham số path thiếu required: true, đường dẫn tương đương (/a/{id} và /a/{name}), security scheme chưa khai báo, operation không có response 2xx, GET có request body, URL server kết thúc bằng dấu gạch chéo, component không dùng tới, và thiếu mô tả, tag, contact hay licence (mức info). stats đếm số path, operation theo method, schema và server.
action=endpoints liệt kê mọi operation (method, path, operationId, summary, tags, tham số, kiểu nội dung của request body, mã response, security); action=convert đổi YAML sang JSON và ngược lại (to); action=upgrade chuyển Swagger 2.0 sang OpenAPI 3.0.3 (servers từ host / basePath / schemes, requestBody từ tham số body và formData, components, các flow security, viết lại $ref, x-nullable) rồi kiểm tra luôn kết quả. Không tải các file $ref bên ngoài. Tối đa 10 MB.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/openapi-tools" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"spec":"openapi: 3.0.3\ninfo:\n title: Shop API\n version: 1.0.0\npaths:\n /orders/{id}:\n get:\n summary: Get an order\n responses:\n '\''200'\'':\n description: The order\n"}'const res = await fetch('https://apibox.io.vn/v1/openapi-tools', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"spec": "openapi: 3.0.3\ninfo:\n title: Shop API\n version: 1.0.0\npaths:\n /orders/{id}:\n get:\n summary: Get an order\n responses:\n '200':\n description: The order\n"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/openapi-tools",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"spec": "openapi: 3.0.3\ninfo:\n title: Shop API\n version: 1.0.0\npaths:\n /orders/{id}:\n get:\n summary: Get an order\n responses:\n '200':\n description: The order\n"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/openapi-tools');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"spec":"openapi: 3.0.3\\ninfo:\\n title: Shop API\\n version: 1.0.0\\npaths:\\n /orders/{id}:\\n get:\\n summary: Get an order\\n responses:\\n \'200\':\\n description: The order\\n"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
Hỗ trợ những phiên bản nào?
Swagger 2.0 và OpenAPI 3.0.x, 3.1.x, 3.2.x, mỗi bản dùng JSON Schema chính thức từ spec.openapis.org.
Schema Object trong 3.1 có được kiểm tra không?
Schema 3.1 / 3.2 kiểm tra cấu trúc tài liệu; các schema bên trong được kiểm tra qua lint và việc phân giải $ref, không theo đầy đủ meta-schema JSON Schema.
Có đọc các $ref trỏ ra file ngoài không?
Không. Tham chiếu tới file hay URL khác được liệt kê ở mức info và không được tải; mọi tham chiếu nội bộ (#/...) đều được phân giải và kiểm tra.