Arnaud trong các ý kiến là đúng rằng có hai câu hỏi riêng biệt ở đây.
Bạn có muốn xác nhận rằng spec của bạn là một OpenAPI hợp lệ (fka. Swagger) spec
Bạn
- có thể sao chép spec của bạn đến online Swagger editor và nó sẽ ném lỗi. Một lặn nhanh chóng qua source không cho tôi biết những gì nó đang sử dụng để tạo ra những lỗi đó, nhưng nó dường như không liên lạc với một máy ...
- Sử dụng chính thức swagger-parser cho Java.
- Sử dụng không chính thức swagger-parser cho JavaScript (trình duyệt hoặc Nút).
hoặc xác thực rằng việc triển khai thông số này sẽ tạo JSON hợp lệ về lược đồ JSON của bạn?
Nói cách khác, đây là một số JSON từ một yêu cầu hoặc nội dung phản hồi, có chính xác không?
Biến đổi dựa trên một tiêu chuẩn khác được gọi là Lược đồ JSON cho schema objects, là những gì thực sự mô tả JSON (chứ không phải là điểm cuối hoặc siêu dữ liệu). Swagger sử dụng một tập hợp con của JSON Schema (thiếu: oneOf
, patternProperties
, trong số những người khác). Để kết thúc, bạn có thể sử dụng trình xác nhận hợp lệ JSON Schema. Có 37 listed here; Tôi sẽ gửi lời chào mừng đến this online validator cũng hỗ trợ các lược đồ YAML.
Nhưng, khi tôi nói Swagger dựa vào một tập con của JSON API, tôi đã nói dối. Có một số trường cố định có ý nghĩa đặc biệt trong Swagger không phải là một phần của JSON Schema. Một trong số đó là discriminator
được sử dụng cho đa hình. Tôi không biết về trình xác thực Swagger có thể xử lý discriminator
. Có một số fair number of tools để vênh vang và một số yêu cầu xác thực, nhưng nhiều người bị từ bỏ, có nghĩa là cho các phiên bản cũ, không hoàn chỉnh tính năng, được gắn với các công nghệ khác, v.v. Nếu có một thư viện trưởng thành và được duy trì tốt mà tôi đang thiếu, tôi rất muốn biết.
Bạn có muốn xác thực rằng thông số của bạn là một thông số OpenAPI (fka. Swagger) hợp lệ hay xác thực rằng việc triển khai thông số này sẽ tạo JSON hợp lệ cho các lược đồ JSON của bạn? –
Câu hỏi đặt ra là chỉ kiểm tra xem JSON có hợp lệ với thông số OpenAPI không. –
Bạn đã xem https://medium.com/@betz.mark/validate-json-models-with-swagger-and-bravado-5fad6b21a825 chưa? –