Presentamos el Manual de Nest, el framework backend que se ejecuta bajo la plataforma NodeJS. Este manual te ofrece un recorrido sobre los fundamentos de Nest, también conocido como NestJS, que te permitirá aprender los principales componentes que ofrece el framework para el desarrollo de las aplicaciones.
Pretendemos que sea un manual bastante práctico, para lo que vamos a ir conociendo todas las piezas de las aplicaciones por medio de ejemplos y mucho código.
Este manual irá repasando el uso de piezas esenciales como controladores, servicios, interfaces, que forman las aplicaciones desarrolladas con NestJS. Todas estas piezas son las que hacen la diferencia entre Nest y cualquier otro framework anterior basado en Node, ya que permiten separar el código por responsabilidades, creando una arquitectura capaz de garantizar mejor calidad en los proyectos.
A lo largo del Manual de NestJS iremos abordando también distintas áreas comunes en todo desarrollo web, como son el acceso a las bases de datos, la gestión de las variables de entorno, la validación, el tratamiento de errores, el análisis y manipulación de las solicitudes HTTP y muchas otras cosas.
Por supuesto, nos orientaremos esencialmente en el desarrollo de APIs o servicios web, ya que es el caso de uso más importante para el que vamos a trabajar con NodeJS y Nest.
En Manual de NestJS encuentras:
Artículos del manual
-
Primeros pasos con Nest
Comenzamos el Manual de Nest con una introducción general a este framework de desarrollo backend, con el que podemos realizar todo tipo de aplicaciones, aunque principalmente APIs REST. Aprenderás qué es Nest, cómo instalarlo, cómo crear proyectos nuevos y cómo poner en marcha las aplicaciones en modo desarrollo.
-
1
Introducción a NestJS
En este primer artículo sobre Nest queremos presentarte el framework y ver la estructura inicial de un proyecto, creado con el CLI de NestJS, analizando sus componentes de una manera muy general.
-
Todo sobre los controladores en Nest
Los controladores son la primera pieza que vamos a usar en el desarrollo de aplicaciones en Nest. Implementan las rutas de las aplicaciones web y permiten trabajar con la solicitud y preparar la respuesta que será enviada al navegador o al cliente que consuma las API REST desarrolladas con el framework. Durante los próximos artículos aprenderás todo lo necesario para trabajar con controladores y realizar las tareas típicas, como el acceso a los datos de la solicitud, que pueden venir desde diversas fuentes, como parámetros en la URL, el cuerpo (body) de la solicitud HTTP, o el query string. Veremos además que el protocolo HTTP tiene diversos métodos y aprenderemos a crear rutas con todos ellos, a partir de decoradores con los que firmaremos los métodos del controlador.
-
2
Controladores en NestJS
Este es el primer artículo dedicado a los controladores. Explicaremos qué es un controlador, cómo crearlos en una aplicación NestJS y cómo crear nuestras primeras rutas.
-
3
Parámetros en las rutas de aplicaciones NestJS
Seguimos hablando sobre controladores, abordando las mecánicas necesarias para enviar parámetros en las rutas hacia los métodos que se encargan de procesarlas.
-
4
Atender a solicitudes POST con NestJS
Vamos a introducir en la creación de unas rutas POST en los controladores de Nest, usadas típicamente para insertar ítems de un recurso. Definiremos las rutas en los controladores, enviaremos los datos para recibirlos mediante @Body().
-
5
Cómo cambiar el status de las respuestas HTTP con NestJS
Seguimos abordando técnicas relacionadas con los controladores de Nest, explicando cómo se pueden personalizar los status code de las respuestas enviadas por el framework a los clientes de las API REST.
-
6
Métodos de HTTP con NestJS
Hemos visto ya GET y DELETE, pero HTTP permite otros métodos como PUT, PATCH o DELETE. Vamos a explicar de qué se tratan y cuáles son las operaciones que se realizan con ellos, explicando conceptos de API REST.
-
7
Recibir datos de Query String en controladores de Nest
Cómo puedes recibir datos que vienen mediante la URL, en la cadena conocida como Query String, para que puedas trabajar con ellos en los controladores Nest.
-
Servicios en aplicaciones Nest
A continuación vamos a hacer una zambullida completa en el mundo de los servicios de Nest, que centralizan las operaciones para el acceso a los datos, así como implementan la lógica de negocio. Los servicios son una de las clases tipo Provider que tenemos en NestJS, y como todo provider son inyectables. Los servicios nos proveen de una capa que descarga de trabajo a los controladores y a la vez permite reutilizar el código a lo largo de la aplicación. Veremos qué son los servicios y luego implementaremos servicios y los usaremos desde los controladores. Iremos ampliando la funcionalidad para proveer de más operaciones de trabajo con datos y realizaremos el almacenamiento en distintos soportes, como la memoria o las bases de datos.
-
8
Servicios en NestJS
Comenzamos a explorar el desarrollo de servicios, una de las clases principales de la arquitectura de aplicaciones Nest. Explicaremos que los servicios son un tipo de provider y veremos cómo implementarlos e inyectarlos en los controladores.
-
9
Aplicar tipado con interfaces TypeScript en NestJS
Cómo podemos mejorar los servicios de Nest valiéndonos de una interfaz definida mediante TypeScript, lo que nos ayudará a tipar los datos con los que trabajamos en las aplicaciones y obtener ayuda en tiempo de desarrollo.
-
10
Ejercicio básico de controlador y servicio en Nest
Vamos a trabajar sobre nuestro ejemplo de API, implementando con más detalle lo que sería un controlador que se apoya en el servicio para resolver las acciones necesarias para el típico CRUD, usando la memoria como almacenamiento.
-
Gestión de errores mediante excepciones
Nest nos ofrece una capa de tratamiento de errores muy práctica. Sencilla para los desarrolladores, capaz de funcionar de manera autónoma y accesible desde cualquier artefacto, como controladores, servicios u otros.
-
11
Gestión de errores en Nest Framework mediante excepciones
Vamos a aprender a manejar NotFoundException en un servicio, para realizar comprobaciones básicas y dejar a Nest que se ocupe de enviar convenientemente el error al cliente.
-
Módulos en Nest Framework
Cómo se organiza el código de las aplicaciones Nest mediante los módulos, una pieza que permite definir la arquitectura de los proyectos y permite agrupar los artefactos de una manera coherente.
-
12
Módulos en Nest
Vamos a meternos de lleno en la organización del código de las aplicaciones Nest, para lo que podremos crear distintos módulos de la aplicación. En este artículo te enseñamos qué son los módulos y cómo podemos usarlos.
-
Validaciones en Nest
Nest nos ofrece una nutrida cantidad de ayudas para que las validaciones y transformaciones de la entrada de datos en los controladores se pueda realizar de manera muy sencilla, sin prácticamente necesidad de escribir código específico. Para ello ofrece toda una serie de pipes específicos para validaciones de datos simples y la posibilidad de usar ValidationPipe para validar datos tan complejos como sea necesario.
-
13
Pipes en Nest
Comenzamos con los pipes en en framework Nest, explicando qué son, para qué sirven y viendo unos ejemplos sobre el pipe ParseIntPipe que usaremos para verificar que un parámetro enviado a un controlador es entero.
-
14
Clases DTO en NestJS
Vamos a ver qué son los DTO y cómo podemos crear clases que definen el esquema de los DTO, para usarlas en los controladores.
-
15
ValidationPipe para realizar validaciones en Nest
Por fin aprendemos a realizar validaciones complejas, de cada uno de los campos enviados en la solicitud, por medio de ValidationPipe y las clases DTO, a las que agregaremos unos cuantos decoradores.
-
16
Validaciones en Nest en una ruta PATCH
Seguimos avanzando en el conocimiento sobre validaciones en Nest, en este caso para ver cómo podemos reutilizar los DTO de rutas POST y PUT en rutas PATCH.
-
17
Validaciones avanzadas con Nest Framework
Vamos a acabar el tema de las validaciones con algunas configuraciones avanzadas que seguramente querrás conocer para poder personalizar todavía más el comportamiento de Nest Framework.
-
Trabajo con bases de datos en Nest Framework
En los próximos artículos te vamos a explicar cómo trabajar con bases de datos en aplicaciones NestJS. Para ello aprenderemos a usar TypeORM que es el ORM más extendido para trabajar con bases de datos en Nest. Sin embargo, cabe decir que Nest soporta el trabajo con bases de datos usando cualquier package de npm, por lo que se pueden adaptar otros ORM o los mismos módulos oficiales del sistema gestor que necesites. TypeORM es simplemente el ORM más utilizado en Nest, que además resulta sencillo de aprender y muy potente.
-
18
TypeORM en Nest Framework
Comenzamos los artículos dedicados al trabajo con las bases de datos en NestJS, para lo que instalaremos el módulo TypeORM. Usaremos MySQL como sistema gestor de base de datos, aunque gracias al ORM existe una capa de abstracción.
-
19
Entidades de TypeORM
Qué son las entidades de TypeORM, cómo definir entidades mediante sus decoradores y cómo configurar el framework Nest para detallar la manera en la que vamos a trabajar con TypeORM.
-
20
Repositorios en TypeORM y Nest
Avanzamos en el uso de bases de datos con Nest y el ORM TypeORM. Veremos cómo trabajar con los repositorios, que son unas clases especiales que nos permiten realizar cómodamente las operaciones típicas de acceso y modificación de los datos.
-
21
Relación de uno a muchos con TypeORM y NestJS
Ahora vamos a estudiar los tipos de relaciones que podemos crear con el ORM, viendo cómo se definen los decoradores de TypeORM y cómo podremos luego crear contenido relacionado con Nest.
-
22
Relaciones de muchos a muchos con TypeORM y Nest
Ahora vamos a aprender a crear relaciones de muchos a muchos entre dos entidades de la base de datos, usando por supuesto TypeORM dentro del contexto de nuestra aplicación con NestJS.
-
23
Añadir y validar elementos a una relación n a m de TypeORM
A continuación vamos a mostrar cómo se cargan los datos en una entidad que tiene otras entidades relacionadas, realizando la validación correspondiente de los datos relacionados.
-
24
Método find() de los repositorios TypeORM
Vamos a explorar otras utilidades importantes del ORM TypeORM con las que podremos personalizar aún más las consultas sin tener que complicarnos con el lenguaje SQL.
-
25
Búsquedas en entidades usando variables en Query String con NestJS
Continuaremos el Manual de Nest y la parte de uso de TypeORM con una práctica esencial y muy frecuente, que consiste en usar las variables del querystring para filtrar los datos de las consultas.
-
Variables de entorno en aplicaciones Nest
Las variables de entorno son esenciales en las aplicaciones, no solamente aquellas desarrolladas con NestJS, sino aplicaciones web en general, ya que nos permiten especificar datos que cambiarán dependiendo de si estamos en producción, desarrollo, en los distintos ordenadores de cada desarrollador del equipo, etc. Pero no solo eso, también son muy importantes para evitar que ciertos datos críticos como las claves de acceso a bases de datos o servicios, API keys y demás no estén escritos en el propio código y no se expongan públicamente en los sistemas de control de versiones. A continuación aprenderemos a gestionar estas variables de entorno con los servicios que Nest nos ofrece para ellas.
-
26
Gestión de variables de entorno para configuración de aplicaciones NestJS los datos de conexión
En este artículo vamos a abordar otro de los temas esenciales de las aplicaciones web, que consiste en la gestión de variables de entorno para la configuración de los datos de conexión a las bases de datos y otros elementos de aplicaciones NestJS.
Descargas
-
Descarga del Manual de Nest La descarga del Manual de Nest la puedes obtener en todos los formatos de libros electrónicos, ePub para eReaders y mobi para dispositivos Kindle. Además tienes la versión del manual de NestJS en PDF, para leer en ordenadores o tablets.
Archivos disponibles: PDF, ePup, Mobi (Kindle)
Páginas: 139 (Referencia por el archivo PDF)