我试图通过创建模拟数据json-server
与组合json-schema-faker
。
我试图使用$ref
属性,但我明白,这只是引用类型,而不是精确值。
有没有办法重新使用完全相同的价值,而不仅仅是它的类型?
在该模式我有mockDataSchema.js
文件是:
var schema =
{
"title": "tests",
"type": "object",
"required": [
"test"
],
"properties": {
"test": {
"type": "object",
"required": [
"id",
"test2_ids",
"test3"
],
"properties": {
"id": {
"type": "string",
"faker": "random.uuid" // here
},
"test2_ids": {
"type": "array",
"items": {
"type": "string",
"faker": "random.uuid" // here
}
},
"test3": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"faker": "random.uuid" // here
}
}
}
}
}
}
}
};
module.exports = schema;
从这个模式我想要的id
是在我与评论指出的所有三个位置相同// here
。
请注意,我不能使用enum
或const
,因为我想有多个tests
出现。
test2_ids
将是一个阵列,所以我想包括用于同一类型的第一ID和其他值该特定ID以及..
在id
的test3
我只是想完全相同的值作为id
的test
。
它是什么,我想实现可行吗?
或者是有没有办法更改这些数据generateMockData.js
文件,而不是mockDataSchema.js
其中包括该模式?
我generateMockData.js
:
var jsf = require('json-schema-faker');
var mockDataSchema = require('./mockDataSchema');
var fs = require('fs');
var json = JSON.stringify(jsf(mockDataSchema));
fs.writeFile("./src/api/db.json", json, function (err) {
if (err) {
return console.log(err);
} else {
console.log("Mock data generated.");
}
});