NestJS

Nest

Tutorial Nest: Métodos GET en controladores

Nest controladores GET: solicitudes y ejemplos. Aprende a crear y manejar solicitudes GET en Nest con ejemplos prácticos y detallados.

En NestJS, uno de los principales componentes para manejar las solicitudes HTTP son los controladores.

Un controlador es responsable de aceptar solicitudes específicas y devolver respuestas al cliente.

Los métodos GET se implementan en controladores y se utilizan para manejar las solicitudes de lectura de recursos específicos o de una colección de recursos.

Creación de un controlador en NestJS

Los controladores en NestJS son clases que son decoradas con el decorador @Controller(), el cual toma un argumento opcional que representa la ruta básica para ese controlador.

Para crear un controlador en NestJS, se utiliza el CLI de NestJS.

Por ejemplo, para crear un controlador llamado tasks, se puede usar el siguiente comando:

nest generate controller tasks

Esto generará un archivo tasks.controller.ts en la carpeta correspondiente.

Definición del método GET

Dentro de un controlador, se pueden definir diferentes métodos HTTP (como GET, POST, PUT, DELETE, etc.).

Para definir un método GET, se utiliza el decorador @Get(), que se coloca encima de un método dentro de un controlador.

Este método se ejecutará cuando se reciba una solicitud GET para la ruta especificada.

Veamos un ejemplo básico:

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

@Controller('tasks')
export class TasksController {
    @Get()
    findAll() {
        return 'Este método devolverá todas las tareas';
    }
}

En este ejemplo, cuando se hace una solicitud GET a la ruta /tasks, se invocará el método findAll y se devolverá el texto 'Este método devolverá todas las tareas'.

Rutas parametrizadas

En muchos casos, es necesario acceder a detalles específicos de un recurso utilizando un parámetro, por ejemplo, el id del recurso.

NestJS permite definir rutas parametrizadas con el decorador @Get().

Además, para acceder a los valores de estos parámetros de manera sencilla y ordenada, se utiliza el decorador @Param() en los controladores.

import { Controller, Get, Param } from '@nestjs/common';

@Controller('tasks')
export class TasksController {
    @Get(':id')
    findOne(@Param('id') id: string) {
        return `Este método devolverá la tarea con id ${id}`;
    }
}

En el código anterior, cuando se hace una solicitud GET a la ruta /tasks/1, por ejemplo, se invocará el método findOne y se devolverá el texto 'Este método devolverá la tarea con id 1'.

En este caso, el decorador @Param('id') se utiliza para indicar que el argumento id del método findOne debe obtener su valor del parámetro de ruta con nombre id.

Conclusión

NestJS proporciona herramientas y decoradores muy útiles para manejar solicitudes HTTP y definir rutas en los controladores. El uso del decorador @Get() permite definir métodos que manejen solicitudes GET, ya sea para obtener todos los recursos o para acceder a detalles específicos mediante rutas parametrizadas.

Certifícate en Nest con CertiDevs PLUS

Ejercicios de esta lección Métodos GET en controladores

Evalúa tus conocimientos de esta lección Métodos GET en controladores con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de Nest

Accede a todas las lecciones de Nest y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Certificados de superación de Nest

Supera todos los ejercicios de programación del curso de Nest y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender la función de los controladores en NestJS.
  2. Identificar la implementación de métodos GET.
  3. Entender el uso del decorador @Get().
  4. Explorar el concepto de rutas parametrizadas y el uso de @Param().