Я использую 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 здесь не отображаются, и вместо этого я получаю заголовок "Array", потому что я использую @Body() body: NewsDto[]
, и это массив, как вы видите
также здесь, в сообщении, я не могу получить JSON, поэтому я могу добавить его или опубликовать в другом слове
, так как это сделатьэто так, когда длина массива только 1 объект, тогда я возвращаю параметры NewsDto, а если длина массива больше 1 объекта, так что возвращаю также параметры NewsDto вместо Array?