Nestjs/swagger:复杂对象
Nestjs/swagger: Complex Objects
我想知道是否有办法支持 Nestjs/swagger 的复杂对象。我刚刚完成迁移,现在正在处理 swagger 文档。我的很多请求 return 复杂对象,我想知道是否有更简单的方法。
示例:
class Foobar{
prop1: {
subprop1: {
subsub1: string;
};
};
}
变成:
class SubSub{
@ApiModelProperty()
subsub1: string;
}
class SubProp{
@ApiModelProperty()
subporp1: SubSub;
}
class Foobar {
@ApiModelProperty()
prop1: SubProp;
}
如果我这样做:
class Foobar{
@ApiModelProperty()
prop1: {
subprop1: {
subsub1: string;
};
};
}
我大摇大摆地得到了这个:
{
"prop1": {}
}
更新 04/2020:ApiModelProperty
现在已更改为 ApiProperty
class SubSub{
@ApiProperty()
subsub1: string;
}
class SubProp{
@ApiProperty({ type: SubSub })
subporp1: SubSub;
}
class Foobar {
@ApiProperty({ type: () => SubProp })
prop1: SubProp;
}
在上一个 ApiProperty
中,我使用了 "Lazy Evaluated Function" 语法。这是为了防止循环依赖问题。我想我会把它加进去。
class SubSub{
@ApiModelProperty()
subsub1: string;
}
class SubProp{
@ApiModelProperty({ type: SubSub })
subporp1: SubSub;
}
class Foobar {
@ApiModelProperty({ type: SubProp })
prop1: SubProp;
}
@ApiModelProperty
接受一个选项对象,如果它是一个复杂对象,您可以在其中指定 type
。
我想知道是否有办法支持 Nestjs/swagger 的复杂对象。我刚刚完成迁移,现在正在处理 swagger 文档。我的很多请求 return 复杂对象,我想知道是否有更简单的方法。 示例:
class Foobar{
prop1: {
subprop1: {
subsub1: string;
};
};
}
变成:
class SubSub{
@ApiModelProperty()
subsub1: string;
}
class SubProp{
@ApiModelProperty()
subporp1: SubSub;
}
class Foobar {
@ApiModelProperty()
prop1: SubProp;
}
如果我这样做:
class Foobar{
@ApiModelProperty()
prop1: {
subprop1: {
subsub1: string;
};
};
}
我大摇大摆地得到了这个:
{
"prop1": {}
}
更新 04/2020:ApiModelProperty
现在已更改为 ApiProperty
class SubSub{
@ApiProperty()
subsub1: string;
}
class SubProp{
@ApiProperty({ type: SubSub })
subporp1: SubSub;
}
class Foobar {
@ApiProperty({ type: () => SubProp })
prop1: SubProp;
}
在上一个 ApiProperty
中,我使用了 "Lazy Evaluated Function" 语法。这是为了防止循环依赖问题。我想我会把它加进去。
class SubSub{
@ApiModelProperty()
subsub1: string;
}
class SubProp{
@ApiModelProperty({ type: SubSub })
subporp1: SubSub;
}
class Foobar {
@ApiModelProperty({ type: SubProp })
prop1: SubProp;
}
@ApiModelProperty
接受一个选项对象,如果它是一个复杂对象,您可以在其中指定 type
。