我正在尝试使用创建模拟数据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
or const
因为我想要多个tests
发生。
test2_ids
将是一个数组,所以我想包含第一个 id 的特定 id 以及相同类型的其他值。
In the id
of test3
我只是想要与完全相同的值id
of test
.
我想要实现的目标是否可行?
或者有没有办法改变这些数据generateMockData.js
文件而不是mockDataSchema.js
其中包括这个架构?
My 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.");
}
});