Cómo crear una API de REST con Prisma y PostgreSQL

Cómo crear una API de REST con Prisma y PostgreSQL

El autor seleccionó la organización Diversity in Tech Fund para que reciba una donación como parte del programa Write for DOnations.

El autor seleccionó la organización [Diversity in Tech Fund_](https://www.brightfunds.org/funds/diversity-in-tech) para que reciba una donación como parte del programa [Write for DOnations_](https://do.co/w4do-cta).

Introducción

Prisma es un conjunto de herramientas para bases de datos de código abierto. Consta de tres herramientas principales:

  • Prisma Client: un generador de consultas con seguridad de tipos que se genera de forma automática para Node.js y TypeScript.
  • Prisma Migrate: un sistema de migración y modelado de datos declarativo.
  • Prisma Studio: una GUI para ver y editar datos en su base de datos.

Estas herramientas pretenden aumentar la productividad de los desarrolladores de aplicaciones en los flujos de trabajo de sus bases de datos. Uno de los principales beneficios de Prisma es el nivel de abstracción que proporciona: en lugar de tener que resolver consultas SQL o migraciones de esquemas complejas, los desarrolladores de aplicaciones pueden razonar acerca de sus datos de forma más intuitiva al utilizar Prisma para trabajar con su base de datos.

En este tutorial, creará una API de REST para una aplicación de blog pequeña en TypeScriptusando Prisma y una base de datos PostgreSQL. Configurará su base de datos PostgreSQL de forma local con Docker e implementará las rutas de la API de REST utilizando Express. Al final del tutorial, tendrá un servidor web que puede responder a varias solicitudes HTTP y leer y escribir datos en la base de datos ejecutándose en su equipo de forma local.

Requisitos previos

Para seguir este tutorial, necesitará lo siguiente:

Es útil, pero no un requisito de este tutorial, tener conocimientos básicos sobre TypeScript y las API de REST.

Paso 1: Crear su proyecto de TypeScript

En este paso, configurará un proyecto de TypeScript simple utilizando npm. Este proyecto será la base para la API de REST que creará en el transcurso de este tutorial.

Primero, cree un directorio nuevo para su proyecto:

mkdir my-blog

Luego, diríjase al directorio e inicie un proyecto npm vacío. Tenga en cuenta que la opción -y se utiliza para omitir las solicitudes interactivas del comando. Para verlas, elimine -y del comando:

cd my-blog
npm init -y

Para obtener más información sobre estas solicitudes, siga el Paso 1 de Cómo usar módulos Node.js con npm y package.json.

Obtendrá un resultado similar al siguiente con las respuestas predeterminadas:

Output
Wrote to /.../my-blog/package.json:

{
  "name": "my-blog",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Este comando crea un archivo package.json mínimo que utiliza como archivo de configuración de su proyecto npm. Con esto, está listo para configurar TypeScript en su proyecto.

Ejecute el siguiente comando para realizar la instalación básica de TypeScript:

npm install typescript ts-node @types/node --save-dev

Este comando instala tres paquetes como dependencias de desarrollo en su proyecto:

  • typescript: la cadena de herramientas de TypeScript.
  • ts-node: un paquete para ejecutar aplicaciones TypeScript sin compilar previamente a JavaScript.
  • @types/node: las definiciones de tipo de TypeScript para Node.js.

Solo resta añadir un archivo tsconfig.json para garantizar que TypeScript esté configurado de forma adecuada para la aplicación que va a crear.

rest

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

What is REST API? An Overview | Liquid Web

What is REST? The REST acronym is defined as a “REpresentational State Transfer” and is designed to take advantage of existing HTTP protocols when used

RESTful API Design Driven Approach

In this tutorial, you will learn the fundamentals of RESTful API design by applying REST principles and best practices. In additon, learn how to define resources, methods, requests, and responses.

How to build a RESTful API — A Deep Dive into REST APIs

Conceptualizing REST through a practical and objective approach. The goal of this article is to show off elements of the web architecture that are fundamental pieces of REST architecture.

GraphQL vs REST: putting REST to rest

When you need to build an API, your mind will likely jump to REST, the de facto standard for API creation. However, this is about to change with GraphQL, as its popularity quickly rises.

What the difference between REST API and RESTful API?

Representational state transfer (REST) is a style of software architecture. As described in a dissertation by Roy Fielding, REST is an "architectural style" that basically exploits the existing technology and protocols of the Web. RESTful is typically used to refer to web services implementing such an architecture.