【发布时间】:2019-09-02 20:36:17
【问题描述】:
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:loopback model with object
在 google 群里提问没有回答:https://groups.google.com/forum/?nomobile=true#!topic/loopbackjs/AKgZT6V-pCc
提前致谢!
【问题讨论】:
标签: swagger swagger-ui loopback openapi loopback4