Hur man bygger ett REST API med Prisma och PostgreSQL

By rik


Skapa ett REST API med Prisma och PostgreSQL: En komplett guide

I den här genomgången kommer vi steg för steg att utforska hur du utvecklar ett REST API med hjälp av Prisma och PostgreSQL. Vi kommer att navigera genom hela processen, från den initiala konfigurationen av din utvecklingsmiljö till kodningen av dina API-slutpunkter.

Prisma är ett exceptionellt verktyg som förenklar arbetet med databaser. Det skärmar bort komplexiteten som är inbäddad i SQL, och erbjuder istället ett lättanvänt, typsäkert API för interaktion med din databas. PostgreSQL, å andra sidan, är en välrenommerad, öppen källkodsdatabas känd för sin effektivitet och tillförlitlighet.

Genom att integrera Prisma och PostgreSQL kan du snabbt utveckla robusta och anpassningsbara REST API:er.

Nödvändiga förkunskaper

Innan du börjar, se till att du har följande förutsättningar:

  • Node.js installerat
  • En PostgreSQL-databas tillgänglig
  • Ett registrerat Prisma-konto

Steg-för-steg-guide

1. Initialisera ett nytt Prisma-projekt

Starta processen med att skapa ett nytt Prisma-projekt. Kör följande kommando i din terminal:

npx prisma init

Detta kommando kommer att skapa en ny katalog kallad ”prisma” i din aktuella arbetsmapp.

2. Konfigurera PostgreSQL som datakälla

Därefter måste vi konfigurera PostgreSQL som vår datakälla i Prisma-projektet. Öppna filen prisma/schema.prisma och lägg till följande konfiguration:

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

Kom ihåg att ersätta <användarnamn>, <lösenord>, <värd> och <databasnamn> med de korrekta anslutningsuppgifterna för din PostgreSQL-databas.

3. Definiera din datamodell

Nu är det dags att definiera vår datamodell i prisma/schema.prisma. Låt oss skapa en enkel modell 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
}

Denna datamodell representerar en ”User”-enhet med följande egenskaper:

  • id: En automatiskt inkrementerande heltalsnyckel som identifierar varje användare unikt.
  • name: En sträng som lagrar användarens namn.
  • email: En unik sträng som innehåller användarens e-postadress.
  • password: En sträng som lagrar användarens lösenord.
  • createdAt: Ett datumfält som anger när användaren skapades (ställs automatiskt in på nuvarande tid).
  • updatedAt: Ett datumfält som uppdateras automatiskt när användarens data ändras.

4. Generera Prisma Client

Efter att datamodellen har definierats, generera Prisma-klienten genom att köra följande kommando i din terminal:

npx prisma generate

Detta kommando skapar en fil (client.js) i mappen ”src”. Denna fil innehåller Prisma-klienten som kommer att möjliggöra interaktion med databasen.

5. Skapa ett Express-program

Nu skapar vi ett Express-program för vårt REST API. Skapa en fil (server.js) i mappen ”src” 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å grundläggande slutpunkter:

  • GET /users: Hämtar alla användare från databasen.
  • POST /users: Skapar en ny användare i databasen.

6. Starta applikationen

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

node server.js

Detta startar Express-servern och gör den tillgänglig på port 3000. Du kan testa dina API-slutpunkter med verktyg som curl eller Postman.

Sammanfattning

Denna artikel har visat hur du bygger ett REST API med Prisma och PostgreSQL. Vi har täckt alla steg, från installation av miljön till kodningen av API-slutpunkterna.

Prisma är ett mycket kraftfullt verktyg som underlättar databashantering. Det kapslar in SQL-komplexiteten och erbjuder ett typiserat API för databasinteraktion. Genom att kombinera Prisma med PostgreSQL kan du effektivt bygga anpassningsbara och robusta REST API:er.

Vanliga frågor

1. Vad är Prisma?

Prisma är ett verktyg som förenklar databasinteraktion. Det döljer SQL-komplexiteten och erbjuder ett typsäkert API för interaktion med databasen.

2. Vad är PostgreSQL?

PostgreSQL är en välkänd, öppen källkodsdatabas som är känd för sin höga prestanda och tillförlitlighet.

3. Hur används Prisma för att skapa ett REST API?

Prisma gör det enkelt att interagera med databasen i Express-program. Du kan använda Prisma-klienten för att utföra CRUD-operationer på dina datamodeller.

4. Hur kan jag testa mitt REST API?

Du kan testa ditt REST API med verktyg som curl eller Postman. Curl är ett kommandoradsverktyg för att skicka HTTP-förfrågningar, medan Postman är ett grafiskt verktyg som underlättar testning och felsökning av REST API:er.

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

Prisma erbjuder flera fördelar, inklusive:

  • Abstraktion av SQL-komplexitet.
  • Typsäkert API för databasinteraktion.
  • Automatisk generering av frågor och mutationer.
  • Snabbare utvecklingsprocess.

6. Hur skiljer sig Prisma från andra ORM-verktyg?

Prisma skiljer sig på flera sätt, inklusive:

  • Större fokus på typsäkerhet och säkerhet.
  • Automatisk generering av frågor och mutationer.
  • Stöd för både relationsdatabaser och dokumentdatabaser.
  • Optimerad kod för högre prestanda.

7. Är Prisma gratis att använda?

Prisma erbjuder både gratis- och betalplaner. Gratisplanen är lämplig för mindre projekt, medan betalplanerna erbjuder utökade funktioner och support.

8. Kan Prisma användas med andra språk än Node.js?

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

9. Hur får jag support för Prisma?

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