Не получается текстовое поле сообщения в swagger js

введите описание изображения здесь

Я добавил приведенный ниже код в main.ts

импортировать { NestFactory } из '@nestjs/core';

импортировать {SwaggerModule,DocumentBuilder} из '@nestjs/swagger'

импортировать { AppModule } из './app.module';

async function bootstrap () {

const app = ожидание NestFactory.create (AppModule);

const options = новый DocumentBuilder ()

.setTitle('My API')

.setDescription('API description')

.setVersion('1.0')

.build();

const document = SwaggerModule.createDocument (приложение, параметры);

SwaggerModule.setup('api', приложение, документ);

ждать app.listen (3000);

}bootstrap ();

// контроллер

@Почта()

addProduct (

@Body('title') title:string,
@Body('price') price:number,

):любой{

const idFromService=this.productserive.addNewProduct(title,price);

return idFromService;

}

// productservice

экспортный класс ProductService {

продукты: Продукт []=[];

addNewProduct(title:string,price:number){

    const id=uId();

    const newproduct=new Product(id,title,price);

    this.products.push(newproduct);

    return {title,price};

}

}

1 ответ

// create a separate dto 
import { ApiProperty } from '@nestjs/swagger';

export class TestDto {
    @ApiProperty()
    readonly title: string

    @ApiProperty()
    readonly price: number
}

// use it in your controller
@Post()
    addProduct(@Body() TestDto:TestDto): any {
        return;
    }

Другие вопросы по тегам