[英]Json schema to validate object's values against content of another object
[英]Validate GraphQL Schema against a sample JSON object
我想根據示例 JSON 文檔驗證 Z3540F3F3F751F2A6FD0584DD35F836C32AZ 架構,示例 JSON 文檔是否具有所有必需的字段。
正如您從下面看到的 Graphql 架構id
, name
是必填字段,示例 JSON object 也具有這些屬性。 在這種情況下,理想validateMySampleJSON(schema, sampleJSON)
應該返回 true。
import {
GraphQLID,
GraphQLNonNull,
GraphQLObjectType,
GraphQLSchema,
GraphQLString,
} from 'graphql';
const RootQuery = new GraphQLObjectType({
name: 'Book',
fields: () => ({
id: { type: GraphQLNonNull(GraphQLID) },
name: { type: GraphQLNonNull(GraphQLString) },
genre: { type: GraphQLString },
}),
});
const schema = new GraphQLSchema({
query: RootQuery,
});
const sampleJSON = {
'id': '1',
'name': 'Awesome Book',
};
const isValid = validateMySampleJSON(schema, sampleJSON);
console.log(isValid); // true
const anotherSampleJSON = {
'id': '1',
'genre': 'mystery'
};
const isValid = validateMySampleJSON(schema, anotherSampleJSON);
console.log(isValid); // false
如果您正在尋找使用 GraphQL 工具的解決方案,那么截至今天,答案是否定的。 我沒有看到任何開箱即用的驗證 function。 但是,您可以使用其他工具的組合來實現此目的。
graphql-2-json-schema
package 將 GraphQL 架構覆蓋到 JSON 架構。jsonschema
package 加載架構並根據它驗證數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.