import { Controller, Post, Body } from '@nestjs/common';
import { MyService } from 'my.service';
import { MyDto } from './dto/my.dto';
@Controller('my-route')
export class MyController {
constructor(private readonly _myService: MyService) {}
@Post()
async myMethod(@Body() myDto: MyDto) {
console.log(myDto); // undefined
return await this._myService.doStuff(myDto.elementOfInterest); // Passes undefined variable into method.
}
}
Меня смущает правильный способ доступа к данным формы тела из POST в Nest. Документация и примеры демонстрируют простое использование декоратора @Body()
, предшествующего имени параметра, который будет содержать тело (или определенный элемент в теле, если используется параметр). Тем не менее, в моем примере выше, тело никогда не заполняется, и метод вызывается с myDto
неопределенным. Даже изменяя его тип на строку и просто передавая одну пару ключ / значение в теле моего POST, он остается неопределенным.
Как правильно обрабатывать тела POST в Nest?