我正在设置json-schema-faker来为项目创建一些模拟数据。
当我生成数据时,它包含一个额外的位,以下是生成数据中的最后一项。
"id": "http://json-schema.org/schema#"
这是我的架构(来自名为'mockDataSchema.js'的文件):
exports.schema = {
"type": "object",
"properties": {
"users": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"unique": true,
"minimum": 1
},
"firstName": {
"type": "string",
"faker": "name.firstName"
},
"lastName": {
"type": "string",
"faker": "name.lastName"
},
"email": {
"type": "string",
"faker": "internet.email"
}
},
"required": ["id", "firstName", "lastName", "email"]
}
}
},
"required": ["users"]
}
生成数据的代码('generate-mock-data.js'):
var jsf = require('json-schema-faker')
var schema = require('./mockDataSchema')
var fs = require('fs')
var chalk = require('chalk')
const json = JSON.stringify(jsf(schema))
console.log(json)
fs.writeFile('./src/api/db.json', json, function(err) {
if (err) {
return console.log(chalk.red(err))
} else {
console.log(chalk.green('Mock data generated.'))
}
})
添加返回的数据:
{
"schema": {
"users": [
{ "id": 25582343, "firstName": "Brycen", "lastName": "Dickens", "email": "Angelica_Jakubowski@hotmail.com" },
{ "id": 39817508, "firstName": "Marisa", "lastName": "Terry", "email": "Arlo.Hermann0@yahoo.com" }
]
},
"id": "http://json-schema.org/schema#"
}
我无法确定为什么它包含“id”:“http://json-schema.org/schema#”
我想摆脱那条线。我将使用'json-server'来提供一个模拟api,它会在那条线路上窒息。
答案 0 :(得分:0)
想出来了。
exports.schema = {
导致jscon-schema-faker将'.schema'解释为架构的一部分。
已更改为
module.exports = {
和尾随架构链接wnet away。