TL;DR
如何创建一个包含嵌套对象的模型,而不为每个对象类型的属性创建一个新模型?
LB4 和 Typescript 的新手,如果这是一个 obv 问题,我们深表歉意。我想创建一个模型,它代表一个响应,其中包括我的端点的嵌套对象。这是一个示例响应:
{
"result": {
"prop1": "blah blah",
"prop2": {
"subProp": {
"subSubProp": "blah blah"
}
}
}
}
我遇到的问题是表示模型内部的嵌套对象。理想情况下,我会做这样的事情:
@model()
export class MyResponseModel extends Model {
@property({
type: 'object'
})
result: {
prop1: string,
prop2: {
subProp: {
subSubProp: string
}
}
}
}
然后在我的控制器中,我将其设置为响应类型:
@post('/my-endpoint', {
responses: {
...,
schema: {
'x-ts-type': MyResponseModel,
}
}
})
async post(): Promise<MyResponseModel>{...}
到目前为止,我完成这项工作的唯一方法是为每个嵌套对象创建一个模型,即一个用于“结果”的模型,另一个用于“prop2”,另一个用于“subProp”,这感觉不是实现这个的正确方法?在 LB3 中,您似乎可以指定一个“属性”道具来定义也可以有子对象的子对象。
相同的 q 要求 LB3 但没有回答 LB4:带对象的环回模型
在谷歌组中询问没有答案:https ://groups.google.com/forum/?nomobile=true#!topic/loopbackjs/AKgZT6V-pCc
提前致谢!