Sobes.tech
Junior

Jak realizuje się CRUD?

sobes.tech AI

Odpowiedź od AI

CRUD oznacza Create, Read, Update, Delete. Są to podstawowe operacje wykonywane na danych.

Create (Tworzenie): Wysyłanie żądania z metodą POST do punktu końcowego w celu utworzenia nowego zasobu. Ciało żądania zazwyczaj zawiera dane nowego obiektu.

// Przykłady z użyciem Fetch API
fetch('/api/items', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Nowy element' }),
})
  .then(response => response.json())
  .then(data => console.log('Utworzono:', data));

Read (Odczyt): Wysyłanie żądania z metodą GET.

  • Odczyt wszystkich zasobów: żądanie GET do głównego punktu końcowego kolekcji.
  • Odczyt konkretnego zasobu: żądanie GET do punktu końcowego z identyfikatorem zasobu.
// Odczyt wszystkich
fetch('/api/items')
  .then(response => response.json())
  .then(data => console.log('Wszystkie elementy:', data));

// Odczyt konkretnego
fetch('/api/items/123')
  .then(response => response.json())
  .then(data => console.log('Element 123:', data));

Update (Aktualizacja): Wysyłanie żądania z metodą PUT lub PATCH do punktu końcowego z identyfikatorem zasobu.

  • PUT: pełna zamiana istniejącego zasobu.
  • PATCH: częściowa aktualizacja zasobu.
// Aktualizacja (PUT)
fetch('/api/items/123', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Zaktualizowany element' }),
})
  .then(response => response.json())
  .then(data => console.log('Zaktualizowano:', data));

// Częściowa aktualizacja (PATCH)
fetch('/api/items/123', {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ description: 'Nowy opis' }),
})
  .then(response => response.json())
  .then(data => console.log('Częściowo zaktualizowano:', data));

Delete (Usunięcie): Wysyłanie żądania z metodą DELETE do punktu końcowego z identyfikatorem zasobu.

fetch('/api/items/123', {
  method: 'DELETE',
})
  .then(response => {
    if (response.ok) {
      console.log('Usunięto pomyślnie');
    } else {
      console.error('Nieudane usunięcie');
    }
  });

Związek z REST API:

Operacje CRUD są ściśle powiązane z zasadami REST (Transfer of Représentational State), gdzie metody HTTP są używane do wykonywania tych działań na zasobach:

CRUD Metoda HTTP
Create POST
Read GET
Update PUT/PATCH
Delete DELETE

Implementacja CRUD na froncie obejmuje wysyłanie tych żądań HTTP do API backendu i obsługę otrzymanych odpowiedzi. Często używa się bibliotek do pracy z HTTP (np. Axios, Fetch API) oraz frameworków/bibliotek do zarządzania stanem i interfejsem użytkownika (np. React, Vue, Angular).