Bootcamp i backendutvikling med Node.js · leksjon

Utforme RESTful API-endepunkter

Lær de grunnleggende prinsippene for REST og utform ryddige og effektive API-endepunkter for ulike ressurser.

Leksjon 3 av 411 trinn

Utforme RESTful API-endepunkter er en gratis leksjon i Bootcamp i backendutvikling med Node.js på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bootcamp i backendutvikling med Node.js, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Introduksjon til RESTful API-er

Velkommen! I denne leksjonen skal vi se nærmere på hvordan man utformer ryddige og effektive API-endepunkter i tråd med REST-prinsippene. Det er avgjørende å forstå REST for å kunne bygge skalerbare webtjenester.

REST står for Representational State Transfer. Det er en arkitekturstil for nettverksbaserte applikasjoner som legger vekt på tilstandsløs kommunikasjon mellom klient og server.

Ressurser: RESTs substantiver

Ressurser er selve kjernen i REST. Tenk på ressurser som all informasjon eller alle data API-et kan tilby eller endre. Det er «tingene» API-et administrerer.

  • En ressurs identifiseres av en unik URL (Uniform Resource Locator).
  • De representeres vanligvis av substantiver, som users, products eller orders.
  • Bruk helst substantiv i flertall for samlinger av ressurser.

Handlinger med HTTP-metoder

Mens ressurser er substantiver, angis handlingene som utføres på dem, av standardiserte HTTP-metoder (også kalt verb). Disse metodene tilsvarer vanlige dataoperasjoner:

  • GET: Hente data (lese)
  • POST: Opprette nye data (opprette)
  • PUT: Erstatte eksisterende data (oppdatere alt)
  • PATCH: Delvis oppdatere eksisterende data (delvis oppdatering)
  • DELETE: Fjerne data (slette)

Strukturere API-endepunktene

URL-en til et godt utformet endepunkt bør være intuitiv og forutsigbar. Den følger vanligvis dette mønsteret:

/api/<version>/<resource_name>

Det er god praksis å bruke en versjon (som v1) for å håndtere fremtidige endringer i API-et. Bruk alltid substantiv i flertall i ressursnavn.

  • Godt: /api/v1/users
  • Dårlig: /api/v1/getUsers

URL-er for samlinger og elementer

REST API-er skiller mellom en samling av ressurser og én enkelt ressurs i samlingen:

  • URL for samling: Viser til en gruppe ressurser. For eksempel /users (alle brukere).
  • URL for element: Viser til en bestemt ressurs. For eksempel /users/123 (brukeren med ID 123).

ID-en (:id i Express) er en unik identifikator for den bestemte ressursen.

Kommunisere med statuskoder

HTTP-statuskoder er avgjørende for at API-et skal kunne kommunisere resultatet av en forespørsel til klienten. De forteller klienten om forespørselen var vellykket, om det oppstod en feil, og hva feilen skyldes.

  • 200 OK: Forespørselen var vellykket.
  • 201 Created: Ressursen ble opprettet.
  • 204 No Content: Forespørselen var vellykket, men det finnes ikke noe innhold å returnere (for eksempel ved DELETE).
  • 400 Bad Request: Klienten sendte ugyldige data.
  • 404 Not Found: Ressursen ble ikke funnet.
  • 500 Internal Server Error: Feil på serversiden.

Utforming av API-endepunkt for brukere

La oss utforme endepunkter for en User-ressurs. Legg merke til hvordan HTTP-metoder og URL-er kombineres for å beskrive handlinger.

Prøv å kjøre dette eksempelet for å se rutene i praksis:

const express = require('express');
const app = express();
const port = 3000;

// Get all users
app.get('/api/v1/users', (req, res) => {
  res.status(200).send('GET /api/v1/users: Retrieve all users');
});

// Create a new user
app.post('/api/v1/users', (req, res) => {
  res.status(201).send('POST /api/v1/users: Create a new user');
});

// Get a specific user by ID
app.get('/api/v1/users/:id', (req, res) => {
  res.status(200).send(`GET /api/v1/users/${req.params.id}: Retrieve user ${req.params.id}`);
});

// Update a specific user by ID
app.put('/api/v1/users/:id', (req, res) => {
  res.status(200).send(`PUT /api/v1/users/${req.params.id}: Update user ${req.params.id}`);
});

// Delete a specific user by ID
app.delete('/api/v1/users/:id', (req, res) => {
  res.status(204).send(`DELETE /api/v1/users/${req.params.id}: Delete user ${req.params.id}`);
});

app.listen(port, () => {
  console.log(`User API running on http://localhost:${port}`);
});

Utforming av API-endepunkt for produkter

Her er et annet eksempel for en Product-ressurs. Mønstrene forblir de samme, noe som gjør API-et enkelt å forstå og bruke for utviklere.

Kjør denne koden for å se et produktfokusert API:

const express = require('express');
const app = express();
const port = 3001; // Using a different port

// Get all products
app.get('/api/v1/products', (req, res) => {
  res.status(200).send('GET /api/v1/products: Retrieve all products');
});

// Create a new product
app.post('/api/v1/products', (req, res) => {
  res.status(201).send('POST /api/v1/products: Create a new product');
});

// Get a specific product by ID
app.get('/api/v1/products/:id', (req, res) => {
  res.status(200).send(`GET /api/v1/products/${req.params.id}: Retrieve product ${req.params.id}`);
});

// Delete a specific product by ID
app.delete('/api/v1/products/:id', (req, res) => {
  res.status(204).send(`DELETE /api/v1/products/${req.params.id}: Delete product ${req.params.id}`);
});

app.listen(port, () => {
  console.log(`Product API running on http://localhost:${port}`);
});

Beste praksis for ryddige URL-er

Følg disse anbefalte fremgangsmåtene for å sikre at API-et er brukervennlig og enkelt å vedlikeholde:

  • Bruk substantiv i flertall: For samlinger (for eksempel /products, ikke /product).
  • Unngå verb i URL-er: La HTTP-metodene definere handlingene (for eksempel POST /users, ikke /createUser).
  • Bruk bindestreker: For bedre lesbarhet i ressursnavn med flere ord (for eksempel /order-items).
  • Hold URL-ene enkle: Unngå dyp nøsting; spørringsparametere kan brukes til filtrering og sortering.

Test kunnskapene Deres om REST

Hvilket av de følgende endepunktene følger RESTful-prinsippene korrekt for å opprette et nytt produkt og hente et bestemt produkt?

Oppsummering: Utforming av RESTful-endepunkter

Godt jobbet! De har lært det grunnleggende om å utforme RESTful API-endepunkter. Husk disse viktigste punktene:

  • Ressurser er substantivene og identifiseres av URL-er.
  • HTTP-metoder (GET, POST, PUT, DELETE) definerer handlinger.
  • Bruk substantiv i flertall for samlinger og bestemte ID-er for elementer.
  • Kommuniser resultater ved hjelp av riktige HTTP-statuskoder.
  • Streb etter ryddige og forutsigbare URL-er for å lage et brukervennlig API.

Dette grunnlaget vil hjelpe Dem med å bygge robuste og intuitive API-er!

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
22
Leksjoner
92

Ofte stilte spørsmål

Er leksjonen «Utforme RESTful API-endepunkter» gratis?

Ja – hele teksten i «Utforme RESTful API-endepunkter» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bootcamp i backendutvikling med Node.js-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva lærer jeg i «Utforme RESTful API-endepunkter»?

Lær de grunnleggende prinsippene for REST og utform ryddige og effektive API-endepunkter for ulike ressurser. Du øver på Bootcamp i backendutvikling med Node.js med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Bootcamp i backendutvikling med Node.js?

Ingen tidligere erfaring er nødvendig. Bootcamp i backendutvikling med Node.js på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Utforme RESTful API-endepunkter»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Bootcamp i backendutvikling med Node.js-leksjonen?

Ja. Alle Bootcamp i backendutvikling med Node.js-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnlaget i Express.js-rammeverket
  2. Ruting og middleware i Express
  3. Utforme RESTful API-endepunkter
  4. Håndtering av forespørselsdata: body, query og params
← Tilbake til Bootcamp i backendutvikling med Node.js