创建具有复杂数据类型的 LoopBack 模型
Creating a LoopBack model with a complex data-type
我正在尝试在 LoopBack API 中创建模型,模型的 JSON widget.json 文件是:
{
"name": "widget",
"plural": "widgets",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "string",
"default": null
},
"projectId": {
"type": "string",
"default": null
},
"clientId":{
"type":"string",
"required":false
},
"createdOn": {
"type": "date",
"defaultFn": "now"
},
"updatedOn": {
"type": "date",
"defaultFn": "now"
},
"deletedOn": {
"type": "date",
"default": null
},
"type":{
"type": "string",
"default": null
},
"version":{
"type": "string",
"default":null
},
"dataSource":{
"type": "dataSource"
}
},
"validations": [],
"acls": [],
"methods": {},
"mixins": {
"Timestamps": true
}
}
问题是属性:
dataSource
是一个对象,我试图在widget.js文件中声明它:
'use strict';
const ModelBuilder = require('loopback-datasource-juggler').ModelBuilder;
const modelBuilder = new ModelBuilder();
const dataSource = modelBuilder.define('dataSource', {
endpoint: String,
params: [String],
query: String,
});
当我 运行 代码时,出现此错误:
Swagger: skipping unknown type "dataSource".
我也试图找到一种方法将该类型声明为定义,就像我们在声明 swagger 文件时所做的一样,但我找不到!
有什么想法或建议吗?
我通过如下声明数据源解决了这个问题:
"dataSource":{
"type": {
"endpoint": "string",
"params": ["string"],
"query": "string"
}
}
我正在尝试在 LoopBack API 中创建模型,模型的 JSON widget.json 文件是:
{
"name": "widget",
"plural": "widgets",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "string",
"default": null
},
"projectId": {
"type": "string",
"default": null
},
"clientId":{
"type":"string",
"required":false
},
"createdOn": {
"type": "date",
"defaultFn": "now"
},
"updatedOn": {
"type": "date",
"defaultFn": "now"
},
"deletedOn": {
"type": "date",
"default": null
},
"type":{
"type": "string",
"default": null
},
"version":{
"type": "string",
"default":null
},
"dataSource":{
"type": "dataSource"
}
},
"validations": [],
"acls": [],
"methods": {},
"mixins": {
"Timestamps": true
}
}
问题是属性:
dataSource
是一个对象,我试图在widget.js文件中声明它:
'use strict';
const ModelBuilder = require('loopback-datasource-juggler').ModelBuilder;
const modelBuilder = new ModelBuilder();
const dataSource = modelBuilder.define('dataSource', {
endpoint: String,
params: [String],
query: String,
});
当我 运行 代码时,出现此错误:
Swagger: skipping unknown type "dataSource".
我也试图找到一种方法将该类型声明为定义,就像我们在声明 swagger 文件时所做的一样,但我找不到!
有什么想法或建议吗?
我通过如下声明数据源解决了这个问题:
"dataSource":{
"type": {
"endpoint": "string",
"params": ["string"],
"query": "string"
}
}