NestJS - Как получить доступ к телу поста с помощью декоратора @Body ()? - PullRequest
0 голосов
/ 29 апреля 2018
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?

1 Ответ

0 голосов
/ 01 июня 2018

Комментарий Камиля Мысливца о Content-Type был решением.

Кроме того, помните, что Content-Type заголовок запроса должен быть установлен в application/json.

...