Sobes.tech
Intern

Kas yra CRUD?

sobes.tech AI

Atsakymas iš AI

CRUD — tai santrumpa, apibūdinanti pagrindines operacijas, atliekamas su duomenimis:

  • Create (Sukurti): Pridėti naujus duomenis.
  • Read (Skaityti): Gauti esamus duomenis.
  • Update (Atnaujinti): Pakeisti esamus duomenis.
  • Delete (Ištrinti): Ištrinti duomenis.

Frontend kūrime šios operacijos dažnai atitinka HTTP metodus, kai sąveikaujama su backend'u per API:

CRUD operacija HTTP metodas Aprašymas
Create POST Siųsti duomenis kurti.
Read GET Užklausti duomenis.
Update PUT / PATCH Siųsti duomenis atnaujinti.
Delete DELETE Užklausti duomenų ištrynimo.

Pavyzdys, kaip įgyvendinti JavaScript naudojant REST API:

// Tarkime, turime user objektą ir jį reikia sukurti serveryje
fetch('/api/users', {
  method: 'POST', // Create
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Naujas vartotojas', email: 'naujas.vartotojas@example.com' }),
})
  .then(response => response.json())
  .then(data => console.log('Vartotojas sukurtas:', data))
  .catch(error => console.error('Klaida kuriant vartotoją:', error));

// Duomenų skaitymo pavyzdys
fetch('/api/users/1') // Skaityti (naudotojo su ID 1)
  .then(response => response.json())
  .then(data => console.log('Vartotojo duomenys:', data))
  .catch(error => console.error('Klaida gaunant duomenis:', error));

// Duomenų atnaujinimo pavyzdys
fetch('/api/users/1', {
  method: 'PUT', // Update
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ name: 'Atnaujintas naudotojas' }),
})
  .then(response => response.json())
  .then(data => console.log('Vartotojas atnaujintas:', data))
  .catch(error => console.error('Klaida atnaujinant:', error));

// Duomenų ištrynimo pavyzdys
fetch('/api/users/1', {
  method: 'DELETE', // Delete
})
  .then(response => {
    if (response.ok) {
      console.log('Vartotojas ištrintas');
    } else {
      console.error('Klaida trinant vartotoją:', response.status);
    }
  })
  .catch(error => console.error('Klaida trinant:', error));