Hur man bygger ett REST API med Prisma och PostgreSQL

Så här bygger du ett REST API med Prisma och PostgreSQL

Introduktion

I den här artikeln kommer vi att gå igenom hur du bygger ett REST API med Prisma och PostgreSQL. Vi kommer att täcka allt från att ställa in din utvecklingsmiljö till att skriva dina API-slutpunkter.

Prisma är ett kraftfullt verktyg som gör det enkelt att arbeta med databaser. Det abstraherar bort komplexiteten i SQL och ger dig ett enkelt, typiserat API för att interagera med din databas. PostgreSQL är en populär open source-databas som är känd för sin prestanda och tillförlitlighet.

Genom att kombinera Prisma och PostgreSQL kan du snabbt bygga robusta och skalbara REST API:er.

Förutsättningar

För att följa den här guiden behöver du följande:

* Node.js installerat
* En PostgreSQL-databas
* Ett Prisma-konto

Komma igång

1. Skapa ett nytt Prisma-projekt

Börja med att skapa ett nytt Prisma-projekt genom att köra följande kommando i din terminal:


npx prisma init

Detta kommer att skapa en ny mapp som heter prisma i din aktuella arbetskatalog.

2. Lägg till PostgreSQL-datakälla

Därefter måste vi lägga till vår PostgreSQL-datakälla till vårt Prisma-projekt. För att göra detta, öppna filen prisma/schema.prisma och lägg till följande rader:


datasource db {
provider = "postgresql"
url = "postgres://<användarnamn>:<lösenord>@<värd>/<databasnamn>"
}

Se till att byta ut , , och med värdena för din PostgreSQL-databas.

3. Definiera ditt datamodel

Nu kan vi definiera vårt datamodel i filen prisma/schema.prisma. Låt oss skapa ett enkelt datamodel för användare:


model User {
id Int @id @default(autoincrement())
name String
email String @unique
password String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}

Detta datamodel definierar en User-modell med följande fält:

* id: Ett självinkrementerande heltal som fungerar som en primär nyckel för modellen.
* name: Ett strängfält som lagrar användarens namn.
* email: Ett unikt strängfält som lagrar användarens e-postadress.
* password: Ett strängfält som lagrar användarens lösenord.
* createdAt: Ett datumtidsfält som automatiskt ställs in på aktuell tidpunkt när en ny användare skapas.
* updatedAt: Ett datumtidsfält som automatiskt uppdateras till aktuell tidpunkt när en användare uppdateras.

4. Generera Prisma Client

Nu när vi har definierat vårt datamodel kan vi generera Prisma-klienten genom att köra följande kommando i vår terminal:


npx prisma generate

Detta kommer att skapa en ny fil i src-mappen som heter client.js. Den här filen innehåller Prisma-klienten som vi kommer att använda för att interagera med vår databas.

5. Skapa ett Express-program

Nu kan vi skapa ett Express-program för vårt REST API. För att göra detta, skapa en fil i src-mappen som heter server.js och lägg till följande kod:


const express = require('express');
const client = require('./client');

const app = express();

app.get('/users', async (req, res) => {
const users = await client.user.findMany();
res.json(users);
});

app.post('/users', async (req, res) => {
const user = await client.user.create({
data: req.body
});
res.json(user);
});

app.listen(3000, () => {
console.log('Server running on port 3000');
});

Denna kod skapar ett enkelt Express-program med två slutpunkter:

* GET /users: Hämta alla användare från databasen.
* POST /users: Skapa en ny användare i databasen.

6. Kör applikationen

För att köra applikationen, kör följande kommando i din terminal:


node server.js

Detta kommer att starta Express-programmet och lyssna på port 3000. Du kan nu testa dina API-slutpunkter med hjälp av curl eller Postman.

Slutsats

I den här artikeln visade vi hur du bygger ett REST API med Prisma och PostgreSQL. Vi täckte allt från att ställa in utvecklingsmiljön till att skriva våra API-slutpunkter.

Prisma är ett kraftfullt verktyg som gör det enkelt att arbeta med databaser. Det abstraherar bort komplexiteten i SQL och ger oss ett enkelt, typiserat API för att interagera med vår databas. Genom att kombinera Prisma och PostgreSQL kan vi snabbt bygga robusta och skalbara REST API:er.

Vanliga frågor

1. Vad är Prisma?

Prisma är ett verktyg som gör det enkelt att arbeta med databaser. Det abstraherar bort komplexiteten i SQL och ger oss ett enkelt, typiserat API för att interagera med vår databas.

2. Vad är PostgreSQL?

PostgreSQL är en populär open source-databas som är känd för sin prestanda och tillförlitlighet.

3. Hur kan jag använda Prisma för att bygga ett REST API?

Prisma ger oss ett enkelt sätt att interagera med vår databas i vårt Express-program. Vi kan använda Prisma-klienten för att utföra CRUD-åtgärder på våra databasmodeller.

4. Hur kan jag testa mitt REST API?

Du kan testa ditt REST API med hjälp av verktyg som curl eller Postman. curl är ett kommandoradsverktyg som du kan använda för att skicka HTTP-förfrågningar till din API. Postman är ett grafiskt verktyg som gör det enkelt att testa och felsöka REST API:er.

5. Vad är fördelarna med att använda Prisma?

Prisma erbjuder flera fördelar, inklusive:

* Abstraktion av SQL-komplexitet
* Typiserat API för att interagera med databasen
* Automatiskt genererade frågor och mutationer
* Snabb utvecklingscykel

6. Vad är skillnaden mellan Prisma och andra ORM-verktyg?

Prisma skiljer sig från andra ORM-verktyg på flera sätt, inklusive:

* Fokusering på typkontroll och säkerhet
* Automatiskt genererade frågor och mutationer
* Stöd för relationsdatabaser och dokumentdatabaser
* Prestationsoptimerad kod

7. Är Prisma gratis att använda?

Prisma erbjuder både gratis och betalda planer. Gratisplanen är lämplig för små projekt och hobbyister. Betalda planer erbjuder ytterligare funktioner och support.

8. Kan jag använda Prisma med andra programmeringsspråk än Node.js?

Ja, Prisma stöder flera programmeringsspråk, inklusive TypeScript, Python och Go.

9. Hur kan jag få stöd för Prisma?

Prisma erbjuder support via dokumentation, forum och e-post.