{"id":54954,"date":"2022-07-22T10:20:14","date_gmt":"2022-07-22T08:20:14","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=54954&#038;post_type=knowledgebase&#038;preview_id=54954"},"modified":"2025-10-01T21:31:54","modified_gmt":"2025-10-01T19:31:54","slug":"nestjs","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/nestjs\/","title":{"rendered":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript"},"content":{"rendered":"<p>Gestionar una aplicaci\u00f3n a gran escala puede ser tedioso, especialmente cuando se construye sin una estructura bien planificada y una estricta estrategia de organizaci\u00f3n del c\u00f3digo. Puede provocar un desastre durante el mantenimiento y debe evitarse a toda costa. Este desastre se debe a los cambios realizados en el c\u00f3digo base y a las nuevas caracter\u00edsticas a medida que el proyecto crece en la base de usuarios.<\/p>\n<p>Nest.js, por otro lado, se construy\u00f3 para ofrecer soluciones a los problemas de estructura y estrategia de organizaci\u00f3n del c\u00f3digo. Combina enfoques modernos y modulares de los principios de la ingenier\u00eda del software.<\/p>\n\n<p>Nest.js utiliza TypeScript para la comprobaci\u00f3n de tipos y proporciona una arquitectura de software lista para usar para crear y desplegar aplicaciones comprobables, escalables, poco acopladas y f\u00e1ciles de mantener.<\/p>\n<p>En este art\u00edculo, exploraremos Nest.js y lo que puedes construir con \u00e9l. Tambi\u00e9n explicaremos los pros y los contras del framework para darte una idea clara de por qu\u00e9 las empresas lo prefieren a otros frameworks de Node.js. Y antes de terminar, demostraremos c\u00f3mo crear una API de tareas con Nest.js.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>\u00bfQu\u00e9 es Nest.js?<\/h2>\n<p>Nest.js es uno de los <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\">frameworks de Node.js<\/a> de m\u00e1s r\u00e1pido crecimiento para construir aplicaciones backend eficientes, escalables y de nivel empresarial utilizando Node.js. Es conocido por producir aplicaciones altamente comprobables, mantenibles y escalables utilizando el moderno <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-javascript\/\">JavaScript<\/a> y TypeScript.<\/p>\n<figure id=\"attachment_127249\" aria-describedby=\"caption-attachment-127249\" style=\"width: 1400px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-127249 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/nest-js-logo.png\" alt=\"Logotipo de Nest.js\" width=\"1400\" height=\"1050\"><figcaption id=\"caption-attachment-127249\" class=\"wp-caption-text\">El logotipo oficial de Nest.js. (Fuente de la imagen: <a href=\"https:\/\/www.behance.net\/gallery\/74182713\/Nest-JS-The-official-logo\" target=\"_blank\" rel=\"noopener noreferrer\">Behance<\/a>)<\/figcaption><\/figure>\n<p>Con m\u00e1s de 46,6k estrellas y 5,4k bifurcaciones en <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-github\/\">GitHub<\/a>, y un recuento de descargas semanales de hasta 700.000, el framework es un recurso popular para elaborar tu proyecto de backend con Node.js.<\/p>\n<p>Nest.js es una soluci\u00f3n perfecta para tu pr\u00f3ximo proyecto si necesitas construir una aplicaci\u00f3n escalable, mantenible y de nivel empresarial.<\/p>\n<p>En la siguiente secci\u00f3n, exploraremos para qu\u00e9 se utiliza y diferentes empresas que utilizan el framework en producci\u00f3n.<\/p>\n<h2>\u00bfPara Qu\u00e9 Se Utiliza Nest.js?<\/h2>\n<p>Nest.js es un framework Node.js de servidor que es ideal para crear aplicaciones de backend altamente comprobables y mantenibles. Puedes crear <a href=\"https:\/\/kinsta.com\/es\/blog\/node-js-aplicaciones\/\" rel=\"noopener\">innumerables tipos de aplicaciones con Node.js<\/a>; s\u00f3lo est\u00e1s limitado por las caracter\u00edsticas de tus aplicaciones.<\/p>\n<p>Dado que el framework aprovecha TypeScript, Nest.js es especialmente popular entre los equipos que buscan aprovechar la potencia de comprobaci\u00f3n de tipos de TypeScript. Adem\u00e1s, es sencillo de aprender y dominar, con una potente CLI que aumenta la productividad y la facilidad de desarrollo. Esta potente CLI hace que sea muy f\u00e1cil poner en marcha cualquier proyecto a nivel de servidor y llevarlo a cabo.<\/p>\n<p>Adem\u00e1s, Nest.js mantiene una documentaci\u00f3n detallada, y su comunidad de desarrolladores y colaboradores es muy activa y est\u00e1 preparada para responder a los problemas sobre la marcha.<\/p>\n<p>Estas razones hacen que sea f\u00e1cil ver por qu\u00e9 tantas empresas est\u00e1n cambiando de framework en favor de Nest.js. A continuaci\u00f3n se muestra una lista de las pocas marcas populares que utilizan el framework en producci\u00f3n.<\/p>\n<h3>Roche<\/h3>\n<p>Roche es una multinacional de la salud que opera en dos divisiones, la farmac\u00e9utica y la de diagn\u00f3stico. Esta empresa estadounidense de biotecnolog\u00eda utiliza el framework Nest.js en su sitio web principal para atender de forma fiable a sus pacientes y ampliar sus servicios.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/roche.png\" alt=\"Una captura de pantalla que muestra la p\u00e1gina oficial de Roche con el texto \"Doing now what patients need next\" (Haciendo ahora lo que los pacientes necesitan a continuaci\u00f3n) y la foto de una mujer sonriente.\" width=\"1600\" height=\"795\"><figcaption class=\"wp-caption-text\">La p\u00e1gina oficial de Roche.<\/figcaption><\/figure>\n<h3>Adidas<\/h3>\n<p>Adidas es el mayor fabricante de ropa deportiva de Europa y el segundo del mundo. Adidas es conocida por dise\u00f1ar y fabricar calzado, ropa y accesorios. Su alcance global y su popularidad son los motivos por los que decidieron utilizar el framework Nest.js, altamente escalable, para crear aplicaciones eficientes a gran escala para su marca.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/adidas.png\" alt=\"Una captura de pantalla que muestra la p\u00e1gina de inicio de Adidas con el texto \"Run for the oceans\" y una foto de varios pares de zapatillas.\" width=\"1600\" height=\"797\"><figcaption class=\"wp-caption-text\">La p\u00e1gina oficial de Adidas.<\/figcaption><\/figure>\n<h3>Decathlon<\/h3>\n<p>Decathlon es un minorista de art\u00edculos deportivos con m\u00e1s de 1.500 tiendas en 57 pa\u00edses. Decathlon eligi\u00f3 Nest.js como <a href=\"https:\/\/kinsta.com\/es\/blog\/backend-vs-frontend\/\">backend<\/a> de su aplicaci\u00f3n web para ayudarles a escalar y mantener su c\u00f3digo base heredado.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/decathlon.png\" alt=\"Una captura de pantalla que muestra la p\u00e1gina de inicio de Decathlon con el texto \"Juguemos este verano\" y fotos de dos ciclistas, aventureros en una barca de remos y una tienda de campa\u00f1a.\" width=\"1600\" height=\"771\"><figcaption class=\"wp-caption-text\">La p\u00e1gina oficial de Decathlon.<\/figcaption><\/figure>\n<p>Puedes encontrar una lista de otras empresas, proyectos y herramientas construidas con Nest.js en <a href=\"https:\/\/github.com\/juliandavidmr\/awesome-nestjs#projects-using-nestjs\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n<p>A continuaci\u00f3n, hablaremos de por qu\u00e9 t\u00fa y tu empresa deber\u00edais elegir Nest.js para vuestro pr\u00f3ximo proyecto, y daremos una idea de por qu\u00e9 otros ya utilizan el framework y sus ventajas.<\/p>\n<h2>Por Qu\u00e9 Elegir Nest.js<\/h2>\n<p>La elecci\u00f3n de un framework depende del tipo de aplicaci\u00f3n que est\u00e9s desarrollando, ya que diferentes aplicaciones requieren un conjunto diferente de herramientas.<\/p>\n<p>Aqu\u00ed enumeraremos diferentes razones para elegir Nest.js como tu framework Node.js para actualizar o construir tu pr\u00f3ximo proyecto.<\/p>\n<ul>\n<li>Nest.js es f\u00e1cil de aprender y dominar, especialmente para los desarrolladores que vienen del mundo <a href=\"https:\/\/kinsta.com\/es\/blog\/php-vs-angular\/\">Angular<\/a>. Esto hace que el proceso de desarrollo sea r\u00e1pido y eficiente, ya que los miembros del equipo pueden adaptarse f\u00e1cilmente a cualquier nuevo principio y estructura de desarrollo.<\/li>\n<li>El framework es conocido por tener una gran estructura arquitect\u00f3nica para aplicaciones empresariales desde el primer momento, lo que hace que la construcci\u00f3n de aplicaciones empresariales altamente escalables y mantenibles sea un juego de ni\u00f1os.<\/li>\n<li>Puedes construir servicios backend que van desde API RESTful, aplicaciones GraphQL, aplicaciones MVC, Web sockets, CLI y <a href=\"https:\/\/kinsta.com\/es\/blog\/wordpress-cron-jobs\/\">trabajos Cron<\/a> con Nest.js con facilidad. Parte de la arquitectura est\u00e1ndar ya est\u00e1 incorporada en el framework de Nest.js.<\/li>\n<li>Como Nest.js utiliza tecnolog\u00edas modernas como TypeScript, patrones arquitect\u00f3nicos a prueba de balas, una excelente documentaci\u00f3n y pruebas unitarias sencillas, puedes crear aplicaciones escalables y mantenibles listas para la empresa.<\/li>\n<li>Nest.js se cre\u00f3 para construir aplicaciones de monolitos y <a href=\"https:\/\/kinsta.com\/es\/blog\/microservicios-vs-api\/\">microservicios<\/a> a gran escala, en las que la arquitectura ya est\u00e1 controlada, y s\u00f3lo tienes que construir tu l\u00f3gica de negocio.<\/li>\n<li>Nest.js admite y proporciona grandes m\u00f3dulos basados en la comunidad y soportados por Nest para construir cualquier caracter\u00edstica espec\u00edfica de tu elecci\u00f3n, desde conceptos como TypeORM, Mongoose y GraphQL hasta el registro, la validaci\u00f3n, el almacenamiento en cach\u00e9, los WebSockets y mucho m\u00e1s.<\/li>\n<\/ul>\n<p>A continuaci\u00f3n, vamos a explorar los pros y los contras de Nest.js. Esto te ayudar\u00e1 a consolidar tu decisi\u00f3n de adoptar el framework, ya que hablaremos tanto de lo bueno como de lo malo.<\/p>\n<h2>Ventajas y Desventajas de Nest.js<\/h2>\n<p>Aqu\u00ed enumeraremos los pros y los contras de Nest.js para comprender mejor por qu\u00e9 es un framework tan popular en el ecosistema Node.js.<\/p>\n<h3>Los Pros<\/h3>\n<p>Algunas de las ventajas de utilizar Nest.js son<\/p>\n<ul>\n<li><strong>Potente pero f\u00e1cil de usar:<\/strong> El framework es f\u00e1cil de usar para los desarrolladores, lo suficiente como para que incluso las funciones m\u00e1s complejas y potentes sean f\u00e1ciles de usar. El equipo de Nest.js ha dise\u00f1ado el framework para que los desarrolladores puedan empezar a trabajar r\u00e1pidamente y centrarse \u00fanicamente en escribir la l\u00f3gica de negocio mientras el framework se encarga de otros aspectos importantes del desarrollo, <a href=\"https:\/\/kinsta.com\/es\/blog\/verificacion-seguridad-web\/\" rel=\"noopener\">como la seguridad<\/a>.<\/li>\n<li><strong>Sintaxis de estilo Angular (backend):<\/strong> <a href=\"https:\/\/kinsta.com\/es\/blog\/angular-vs-react\/\" rel=\"noopener\">Angular es un framework frontend muy popular<\/a> que se centra en la arquitectura y la estructuraci\u00f3n. Nest.js act\u00faa como Angular para el backend porque utiliza el estilo y la sintaxis de Angular para ayudarte a estructurar tu proyecto empresarial.<\/li>\n<li><strong>TypeScript:<\/strong> Nest.js es compatible con TypeScript desde el principio, y esto resuelve el rendimiento y la escritura de aplicaciones mantenibles r\u00e1pidamente al proporcionar errores de compilaci\u00f3n y advertencias. TypeScript est\u00e1 bien integrado en VSCode para un entorno de desarrollo accesible.<\/li>\n<li><strong>Documentaci\u00f3n exhaustiva: <\/strong>Nest.js cuenta con una de las mejores documentaciones para cualquier framework, que es muy f\u00e1cil de entender. Se ahorra tiempo de depuraci\u00f3n al ojear r\u00e1pidamente la documentaci\u00f3n y encontrar la soluci\u00f3n al problema.<strong><br \/>\n<\/strong><\/li>\n<li><strong>Buena arquitectura y desarrollo r\u00e1pido:<\/strong> Nest.js te ahorra tiempo a la hora de construir tu aplicaci\u00f3n, tanto si est\u00e1s creando tu primer MVP como la aplicaci\u00f3n real, porque te da una estructura y arquitectura s\u00f3lidas con las que trabajar desde el principio, mejorando as\u00ed tus procesos de desarrollo.<\/li>\n<\/ul>\n<h3>Los Contras<\/h3>\n<p>Hay un famoso dicho: \u00abToda ventaja tiene sus inconvenientes\u00bb, y Nest.js no es una excepci\u00f3n. As\u00ed que vamos a explorar los contras de Nest.js.<\/p>\n<ul>\n<li><strong>Dif\u00edcil para los novatos:<\/strong> Nest.js puede ser un poco dif\u00edcil de aprender y dominar para los desarrolladores novatos que no vienen de un entorno Angular. Adem\u00e1s, dado que no todos los desarrolladores de JavaScript utilizan TypeScript, el framework tambi\u00e9n puede ser dif\u00edcil para estos grupos de desarrolladores. Pero como cualquier otra tecnolog\u00eda, requiere tiempo y pr\u00e1ctica.<\/li>\n<li><strong>Depuraci\u00f3n ardua:<\/strong> Aunque TypeScript tiene sus ventajas y beneficios, tambi\u00e9n conlleva muchos problemas de depuraci\u00f3n, especialmente para los desarrolladores m\u00e1s novatos en el mundo de TypeScript.<\/li>\n<\/ul>\n<p>Ah\u00ed lo tienes: los pros y los contras de Nest.js y c\u00f3mo pueden influir en tu decisi\u00f3n de elegirlo como framework.<\/p>\n<p>A continuaci\u00f3n, vamos a poner en pr\u00e1ctica la construcci\u00f3n de una API RESTful con Nest.js para consolidar lo que hemos aprendido hasta ahora. Sigue leyendo para aprender a desarrollar una API de tareas pendientes que permita a los usuarios crear y gestionar sus listas de tareas pendientes.<\/p>\n<h2>Construye tu Primera API RESTful de Nest.js<\/h2>\n<p>Es hora de practicar todo lo que hemos aprendido sobre Nest.js construyendo nuestra primera API RESTful para demostrar la potencia y la simplicidad que conlleva.<\/p>\n<p>Empezaremos por configurar el framework e instalar todas las herramientas necesarias para ponerlo en marcha.<\/p>\n<h3>1. Configuraci\u00f3n de Nest.js<\/h3>\n<p>En primer lugar, instalamos la CLI de Nest para crear nuevos proyectos con este comando:<\/p>\n<pre><code class=\"language-bash\">npm i -g @nestjs\/cli<\/code><\/pre>\n<p>Despu\u00e9s, crea un nuevo proyecto con este comando<\/p>\n<pre><code class=\"language-bash\">nest new nest-todo-api\ncd nest-todo-api\nnpm run start:dev<\/code><\/pre>\n<p>Ahora que tenemos la CLI de Nest instalada y nuestro nuevo proyecto creado con \u00e9xito, vamos a construir nuestra API.<\/p>\n<p>Abre el proyecto en cualquier editor de c\u00f3digo de tu elecci\u00f3n. Si visitas <code>localhost:3000<\/code>, deber\u00edas ser recibido con un mensaje de bienvenida que muestra que todo funciona correctamente.<\/p>\n<p>A continuaci\u00f3n, configuraremos una <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-mongodb\/\" rel=\"noopener\">base de datos MongoDB<\/a> para conectarnos y gestionar nuestros datos de tareas pendientes en el proyecto.<\/p>\n<p>Antes de entrar en materia, vamos a generar todos los archivos que necesitaremos para crear la API con los siguientes comandos:<\/p>\n<pre><code class=\"language-bash\">nest generate module todos\nnest generate controller todos\nnest generate service todos<\/code><\/pre>\n<h3>2. Configurar MongoDB<\/h3>\n<p>A continuaci\u00f3n, instalaremos y configuraremos <a href=\"https:\/\/kinsta.com\/es\/blog\/mongodb-vs-mysql\/\">MongoDB<\/a> para que funcione con el proyecto que hemos creado antes.<\/p>\n<p>Despu\u00e9s de instalar MongoDB en tu m\u00e1quina local, ejecuta el siguiente comando para instalar la biblioteca Mongoose en nuestro proyecto reci\u00e9n creado:<\/p>\n<pre><code class=\"language-bash\">npm install --save @nestjs\/mongoose mongoose<\/code><\/pre>\n<p>Eso es todo lo que tienes que hacer.<\/p>\n<p>A continuaci\u00f3n, generaremos los archivos e importaremos Mongoose para comunicarnos con el proyecto y con MongoDB.<\/p>\n<p>Vamos a importar Mongoose en nuestro archivo de m\u00f3dulo de aplicaci\u00f3n antes de generar los dem\u00e1s archivos necesarios:<\/p>\n<pre><code class=\"language-js\">import { Module } from '@nestjs\/common';\nimport { AppController } from '.\/app.controller';\nimport { AppService } from '.\/app.service';\nimport { MongooseModule } from '@nestjs\/mongoose';\nimport { TodosModule } from '.\/todos\/todos.module';\n\n@Module({\n  imports: [MongooseModule.forRoot('mongodb:\/\/localhost\/todos), TodosModule],\n  controllers: [AppController],\n  providers: [AppService],\n})\nexport class AppModule {}<\/code><\/pre>\n<h3>3. Construir el Schema<\/h3>\n<p>A continuaci\u00f3n, construiremos el schema de nuestra base de datos. Este schema especificar\u00e1 c\u00f3mo se representar\u00e1n los datos en nuestra base de datos.<\/p>\n<p>Vamos a definirlo en nuestro archivo <strong>todos.schema.ts<\/strong>:<\/p>\n<pre><code class=\"language-ts\">import * as mongoose from 'mongoose';\nexport const ItemSchema = new mongoose.Schema({\n  title: String,\n  is_completed: Boolean,\n  description: String,\n});<\/code><\/pre>\n<h3>4. Definici\u00f3n de Interfaces<\/h3>\n<p>A continuaci\u00f3n, crearemos una interfaz para la comprobaci\u00f3n de tipos.<\/p>\n<p>Vamos a definirla en nuestro archivo <strong>interfaces\/todo.interface.ts<\/strong>:<\/p>\n<pre><code class=\"language-ts\">import { Document } from 'mongoose';\nexport interface Item extends Document {\n  id?: string;\n  title: string;\n  description?: string;\n  is_completed: boolean;\n}<\/code><\/pre>\n<h3>5. Creaci\u00f3n del DTO<\/h3>\n<p>Por \u00faltimo, construiremos un DTO (Objeto de Transferencia de Datos) que defina c\u00f3mo se enviar\u00e1n o pasar\u00e1n los datos de objeto a objeto a trav\u00e9s de la red.<\/p>\n<p>Es una clase b\u00e1sica con la misma propiedad que nuestro schema:<\/p>\n<pre><code class=\"language-ts\">\/\/ .\/dto\/create-todo.ts\nexport class CreateItemDto {\n  readonly title: string;\n  readonly description: string;\n  readonly is_completed: boolean;\n}<\/code><\/pre>\n<h3>6. Configurar el Modelo\/Servicio<\/h3>\n<p>El archivo de servicio es el responsable de interactuar y comunicarse con la base de datos MongoDB. Se utiliza para crear, recuperar, actualizar y eliminar registros del esquema <code>todos<\/code> que creamos anteriormente.<\/p>\n<p>Abre tu archivo de servicio y a\u00f1ade los siguientes c\u00f3digos:<\/p>\n<pre><code class=\"language-ts\">import { Injectable } from '@nestjs\/common';\nimport { Todo } from '.\/interfaces\/todo.interface';\nimport { Model } from 'mongoose';\nimport { InjectModel } from '@nestjs\/mongoose';\nimport { CreateTodoDto } from '.\/dto\/create-todo.dto';\n\n@Injectable()\n\nexport class ItemsService {\n  constructor(@InjectModel('Todo') private readonly todoModel: Model) {}\n  async findAll(): Promise&lt;Todo[]&gt; {\n    return await this.todoModel.find();\n  }\n  async findOne(id: string): Promise {\n    return await this.todoModel.findOne({ _id: id });\n  }\n  async create(item: CreateItemDto): Promise {\n    const newTodo = new this.todoModel(item);\n    return await newTodo.save();\n  }\n  async delete(id: string): Promise {\n    return await this.todoModel.findByIdAndRemove(id);\n  }\n  async update(id: string, todo: CreateTodoDto): Promise {\n    return await this.todoModel.findByIdAndUpdate(id, todo, { new: true });\n  }\n}<\/code><\/pre>\n<p>El fragmento de c\u00f3digo anterior representa una aplicaci\u00f3n CRUD (crear, leer, actualizar, eliminar) en nuestra API que utiliza <a href=\"https:\/\/mongoosejs.com\/docs\/models.html\" target=\"_blank\" rel=\"noopener noreferrer\">el modelo Mongoose<\/a> para proporcionarles acceso a nuestra base de datos MongoDB subyacente.<\/p>\n<p>A continuaci\u00f3n, crearemos nuestro archivo controlador para manejar toda la l\u00f3gica y comunicarnos con el servicio que hemos creado anteriormente.<\/p>\n<h3>7. Configurar los Controladores<\/h3>\n<p>El controlador es el responsable de manejar las solicitudes de ingreso y enviar las respuestas al cliente.<\/p>\n<p>Vamos a definir nuestro controlador <code>Todo<\/code> y a pegar el siguiente fragmento de c\u00f3digo:<\/p>\n<pre><code class=\"language-js\">import {\n  Controller,\n  Get,\n  Post,\n  Put,\n  Delete,\n  Body,\n  Param,\n} from '@nestjs\/common';\nimport { CreateTodoDto } from '.\/dto\/create-todo.dto';\nimport { TodosService } from '.\/todos.service';\nimport { Todo } from '.\/interfaces\/todo.interface';\n\n@Controller('items')\n\nexport class ItemsController {\n  constructor(private readonly todosService: TodosService) {}\n\n  @Get()\n  findAll(): Promise&lt;Todo[]&gt; {\n    return this.todosService.findAll();\n  }\n  \n  @Get(':id')\n  findOne(@Param('id') id): Promise {\n    return this.todosService.findOne(id);\n  }\n  \n  @Post()\n  create(@Body() createTodoDto: CreateTodoDto): Promise {\n    return this.todosService.create(createTodoDto);\n  }\n  \n  @Delete(':id')\n  delete(@Param('id') id): Promise {\n    return this.todosService.delete(id);\n  }\n  \n  @Put(':id')\n  update(@Body() updateTodoDto: CreateTodoDto, @Param('id') id): Promise {\n    return this.todosService.update(id, updateTodoDto);\n  }\n}<\/code><\/pre>\n<p>El framework utiliza anotaciones para manejar muchas funcionalidades ocultas \u2014 por ejemplo, para manejar el sistema de enrutamiento del framework proporcionando diferentes anotaciones correspondientes a cada ruta (<code>@Put()<\/code>, <code>@Delete()<\/code>, <code>@Post()<\/code>, <code>@Get()<\/code>) para las APIs RESTful Put, Delete, Post y Get respectivamente.<\/p>\n<h3>8. Probando la API con Postman<\/h3>\n<p>Por \u00faltimo, vamos a probar nuestra reci\u00e9n creada API con Postman. Tenemos que iniciar el servidor de desarrollo para asegurarnos de que todo funciona correctamente antes de desplegarlo en un servidor de producci\u00f3n.<\/p>\n<pre><code class=\"language-bash\">npm run start:dev<\/code><\/pre>\n<p>Puedes <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">descargar y ejecutar Postman<\/a> para probar tu API RESTful.<\/p>\n<figure id=\"attachment_127252\" aria-describedby=\"caption-attachment-127252\" style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-127252 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/todo-nest.png\" alt=\"Lista de tareas de Nest.js\" width=\"1600\" height=\"1078\"><figcaption id=\"caption-attachment-127252\" class=\"wp-caption-text\">Resultado de la lista de tareas de Nest.js<\/figcaption><\/figure>\n\n<h2>Resumen<\/h2>\n<p>Nest.js es un potente framework de Node.js y el framework de typescript m\u00e1s popular de la actualidad.<\/p>\n<p>Proporciona al equipo de ingenieros una arquitectura de desarrollo est\u00e1ndar y <a href=\"https:\/\/kinsta.com\/es\/blog\/mejores-practicas-diseno-web\/\">las mejores pr\u00e1cticas<\/a> del sector. Con \u00e9l, los desarrolladores pueden abstraerse de los repetidos procesos de ingenier\u00eda para centrarse \u00fanicamente en el desarrollo de la l\u00f3gica empresarial.<\/p>\n<p>Estas ventajas son las que hacen que marcas populares como Adidas, Roche y otras utilicen el framework para sus aplicaciones de producci\u00f3n empresarial.<\/p>\n<p>En este art\u00edculo, hemos establecido una base s\u00f3lida para Nest.js y por qu\u00e9 t\u00fa y tu empresa deber\u00edais considerar el cambio a \u00e9l. Adem\u00e1s, hemos construido una sencilla tarea RESTful para demostrar de forma pr\u00e1ctica las maravillas del framework.<\/p>\n<p>Ahora te toca a ti decidir si Nest.js es el framework perfecto para ti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gestionar una aplicaci\u00f3n a gran escala puede ser tedioso, especialmente cuando se construye sin una estructura bien planificada y una estricta estrategia de organizaci\u00f3n del c\u00f3digo. &#8230;<\/p>\n","protected":false},"author":193,"featured_media":54955,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[867,804,1098],"topic":[1296],"class_list":["post-54954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-javascript","tag-javascript-frameworks","tag-nest-js","topic-frameworks-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript<\/title>\n<meta name=\"description\" content=\"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript\" \/>\n<meta property=\"og:description\" content=\"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-22T08:20:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:31:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Solomon Eseme\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kaperskyguru\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Solomon Eseme\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\"},\"author\":{\"name\":\"Solomon Eseme\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2\"},\"headline\":\"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript\",\"datePublished\":\"2022-07-22T08:20:14+00:00\",\"dateModified\":\"2025-10-01T19:31:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\"},\"wordCount\":2422,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\",\"keywords\":[\"JavaScript\",\"JavaScript Frameworks\",\"Nest.js\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\",\"name\":\"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\",\"datePublished\":\"2022-07-22T08:20:14+00:00\",\"dateModified\":\"2025-10-01T19:31:54+00:00\",\"description\":\"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/nestjs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg\",\"width\":1460,\"height\":730,\"caption\":\"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/nestjs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2\",\"name\":\"Solomon Eseme\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g\",\"caption\":\"Solomon Eseme\"},\"description\":\"I am a Software Engineer and Content Creator who is geared toward building high-performing and innovative products following best practices and industry standards. I also love writing about it at Masteringbackend.com. Follow me on Twitter, LinkedIn, and About Me\",\"sameAs\":[\"https:\/\/masteringbackend.com\",\"https:\/\/linkedin.com\/in\/solomoneseme\",\"https:\/\/x.com\/kaperskyguru\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/solomoneseme\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript","description":"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/nestjs\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript","og_description":"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.","og_url":"https:\/\/kinsta.com\/es\/blog\/nestjs\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2022-07-22T08:20:14+00:00","article_modified_time":"2025-10-01T19:31:54+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","type":"image\/jpeg"}],"author":"Solomon Eseme","twitter_card":"summary_large_image","twitter_description":"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","twitter_creator":"@kaperskyguru","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Solomon Eseme","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/"},"author":{"name":"Solomon Eseme","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2"},"headline":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript","datePublished":"2022-07-22T08:20:14+00:00","dateModified":"2025-10-01T19:31:54+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/"},"wordCount":2422,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","keywords":["JavaScript","JavaScript Frameworks","Nest.js"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/","url":"https:\/\/kinsta.com\/es\/blog\/nestjs\/","name":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","datePublished":"2022-07-22T08:20:14+00:00","dateModified":"2025-10-01T19:31:54+00:00","description":"Nest.js es un framework de JavaScript ligero y potente que se centra en la productividad y el rendimiento de los desarrolladores.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/nestjs\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2022\/07\/nestjs.jpg","width":1460,"height":730,"caption":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/nestjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/es\/secciones\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"\u00bfQu\u00e9 es Nest.js? Un Vistazo al Framework Ligero de JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2","name":"Solomon Eseme","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g","caption":"Solomon Eseme"},"description":"I am a Software Engineer and Content Creator who is geared toward building high-performing and innovative products following best practices and industry standards. I also love writing about it at Masteringbackend.com. Follow me on Twitter, LinkedIn, and About Me","sameAs":["https:\/\/masteringbackend.com","https:\/\/linkedin.com\/in\/solomoneseme","https:\/\/x.com\/kaperskyguru"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/solomoneseme\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/54954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/193"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=54954"}],"version-history":[{"count":14,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/54954\/revisions"}],"predecessor-version":[{"id":55130,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/54954\/revisions\/55130"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/es"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/translations\/jp"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/54954\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/54955"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=54954"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=54954"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=54954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}