我使用nest.js,我有一个帖子路线新消息添加到数据库中,所以我用邮递员送这样的对象数组:
[
{
"newsTitle" : "title1",
"newsDescription": "description1"
},
{
"newsTitle" : "title2",
"newsDescription": "description2"
}
]
这对于后在我的控制器代码:
@Post()
async create(@Body() body: NewsDto[]) {
const len = body.length;
if (len == 1) {
}
else if (len > 1) {
}
return this.newsService.createNews(body);
}
所以一切都在岗位正常工作,并在数据库中保存的数据,但是当我使用招摇,我得到的这个控制器这样的DTO模式:
你可以看到,DTO的参数不显示在这里,我得到了“阵列”的称号,而不是因为我用@Body() body: NewsDto[]
和它的数组,你看
这里也是后我不能得到的JSON,所以我可以将其添加或另一个词张贴
所以如何处理此所以当阵列仅1对象的长度然后我返回NewsDto参数,并且如果数组的长度大于1个对象,以便返回NewsDto参数太代替阵列的?
你必须在@ApiModelProperty()
装饰添加到您的DTO的属性:
export class NewsDto {
@ApiModelProperty()
newsTitle: string;
@ApiModelProperty()
newsDescription: string;
}
然后@ApiImplicitBody()
添加到控制器的方法:
@Post()
@ApiImplicitBody({ name: 'news', type: [NewsDto]})
async create(@Body('news') body: NewsDto[]) {