Tôi đang cố gắng xác thực API JSON của mình bằng cách sử dụng node.js + json-schema.js từ commonjs-utils. Chỉ cần xác nhận một lần là dễ dàng nhưng không thể tìm được cách đúng đắn để quản lý nhiều tệp lược đồ để cho phép tham chiếu lẫn nhau.Làm cách nào để quản lý nhiều tệp lược đồ JSON?
Giả sử tôi có hai Mô hình & hai API.
// book
{
"type": "object",
"properties": {
"title": { "type": "string" },
"author": { "type": "string" }
}
}
// author
{
"type": "object",
"properties": {
"first_name": { "type": "string" },
"last_name": { "type": "string" }
}
}
// authors API
{
"type": "array",
"items": { "$ref": "author" }
}
// books API: list of books written by same author
{
"type": "object",
"properties": {
"author": { "$ref": "author" }
"books": { "type": "array", "items": { "$ref": "book" } }
}
}
Mỗi lược đồ phải được chia thành tệp riêng và trực tuyến? Hoặc tôi có thể kết hợp thành tệp lược đồ duy nhất như dưới đây không? Nếu có thể, làm thế nào tôi có thể tham khảo lược đồ cục bộ?
// single schema file {
"book": { ... },
"author": { ... },
"authors": { ... },
"books": { ... } }
Có cách nào để tạo đối tượng với các tệp lược đồ được phân tách trong node.js không? – uzay95
@ uzay95 lược đồ không phải là lớp học. Một lược đồ được sử dụng để xác định và xác nhận cấu trúc của một đối tượng, một lớp định nghĩa cấu trúc của một đối tượng sau khi nó khởi tạo. Nếu bạn cần các lớp trong js, hãy thử xem Typecript, AtScript hoặc ES6. Hoặc chỉ cần đặt một phương thức factory hoặc constructor factory trong một tệp bên ngoài mà bạn sẽ bao gồm trong node.js. –