Я пытаюсь создать фиктивные данные, используя 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
из test3
я просто хочу точно такое же значение, как id
из 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.");
}
});