Implementación del Método POST en Controladores HTTP

Clase 11 de 23Curso de Backend con NestJS

Resumen

Así como el verbo HTTP GET se utiliza para la obtención de datos, el verbo HTTP Post se utiliza para la creación de los mismos previamente.

Qué es el método Post

Es el método para creación de datos. Para utilizarlo en Nest.js debemos importar el decorador.

Crear registro con Post

En tu proyecto NestJS, tienes que importar los decoradores Post y Body desde @nestjs/common. El primero para indicar que el endpoint es del tipo POST y el segundo para capturar los datos provenientes del front-end en el cuerpo del mensaje.

import { Controller, Post, Body } from '@nestjs/common';

@Controller()
export class AppController {

  @Post('product')
  createProducto(@Body() body: any): any {
    return {
      name: body.name,
      price: body.price
    };
  }
}

Un buen endpoint del tipo POST tiene que devolver el registro completo recientemente insertado en la BBDD para que el front-end pueda actualizarse inmediatamente y no tener que realizar una consulta por el mismo.

Recuerda también que, al tratarse de un endpoint POST, no puedes realizar la solicitud desde el navegador al igual que con los endpoints GET. Para probar tu aplicación, tienes que utilizar una plataforma de APIs como Postman.

import { ..., Post, Body } from '@nestjs/common';

@Controller('products')
export class ProductsController {
  ...

  @Post() // 👈 New decorator
  create(@Body() payload: any) {
    return {
      message: 'accion de crear',
      payload,
    };
  }
}

Contribución creada por: Kevin Fiorentino.