JavaRush /Курсы /Модуль 1: Web Core /CRUD операции

CRUD операции

Модуль 1: Web Core
22 уровень , 5 лекция
Открыта

6.1 Введение в CRUD

CRUD — это акроним, обозначающий четыре основные операции, которые можно выполнять с данными: создание (Create), чтение (Read), обновление (Update) и удаление (Delete). Эти операции являются фундаментальными для работы с базами данных и являются основой большинства веб-приложений.

Что такое CRUD?

  • Create (Создание): операция создания используется для добавления новых записей в базу данных. Это позволяет вводить новые данные в систему.
  • Read (Чтение): операция чтения используется для извлечения данных из базы данных. Это позволяет пользователям запрашивать и просматривать существующую информацию.
  • Update (Обновление): операция обновления используется для изменения существующих записей в базе данных. Это позволяет редактировать и корректировать данные.
  • Delete (Удаление): операция удаления используется для удаления записей из базы данных. Это позволяет удалять ненужные или устаревшие данные.

HTTP-методы для CRUD операций

В контексте веб-разработки CRUD операции часто выполняются с использованием HTTP-запросов к API. Разные методы HTTP соответствуют различным CRUD операциям:

  • POST: используется для создания новых ресурсов.
  • GET: используется для чтения (получения) ресурсов.
  • PUT и PATCH: используются для обновления существующих ресурсов. PUT обычно используется для полной замены ресурса, тогда как PATCH — для частичного обновления.
  • DELETE: используется для удаления ресурсов.

Зачем нужны CRUD операции?

CRUD операции являются основой для работы с данными в веб-приложениях. Они позволяют разработчикам реализовывать основные функциональные возможности, такие как создание учетных записей пользователей, редактирование профилей, просмотр данных и удаление записей. Эти операции также обеспечивают взаимодействие между клиентом и сервером, позволяя передавать данные и команды.

Современные инструменты для выполнения CRUD операций

Современные веб-приложения часто используют различные инструменты и библиотеки для выполнения CRUD операций через API:

  • Fetch API: встроенный в браузер способ выполнения HTTP-запросов, основанный на промисах.
  • Axios: популярная библиотека для выполнения HTTP-запросов, предоставляющая удобный и расширенный API.

Эти инструменты помогают разработчикам легко и эффективно выполнять CRUD операции, обеспечивая гибкость и простоту интеграции с различными серверными API.

6.2 Использование Fetch

Рассмотрим использование Fetch для выполнения CRUD операций.

Создание (Create):

JavaScript
    
      const createData = async (data) => {
        const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(data)
        });
        const result = await response.json();
        console.log('Created:', result);
      };

      createData({ title: 'foo', body: 'bar', userId: 1 });
    
  

Чтение (Read):

JavaScript
    
      const readData = async (id) => {
        const response = await fetch(`https://jsonplaceholder.typicode.com/posts/${id}`);
        const result = await response.json();
        console.log('Read:', result);
      };

      readData(1);
    
  

Обновление (Update):

JavaScript
    
      const updateData = async (id, data) => {
        const response = await fetch(`https://jsonplaceholder.typicode.com/posts/${id}`, {
          method: 'PUT',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(data)
        });
        const result = await response.json();
        console.log('Updated:', result);
      };

      updateData(1, { title: 'foo', body: 'bar', userId: 1 });
    
  

Удаление (Delete):

JavaScript
    
      const deleteData = async (id) => {
        const response = await fetch(`https://jsonplaceholder.typicode.com/posts/${id}`, {
          method: 'DELETE'
        });
        if (response.ok) {
          console.log('Deleted:', id);
        } else {
          console.error('Failed to delete:', id);
        }
      };

      deleteData(1);
    
  

6.3 Использование Axios

Рассмотрим использование Axios для выполнения CRUD операций.

Создание (Create):

JavaScript
    
      const axios = require('axios');

      const createData = async (data) => {
        try {
          const response = await axios.post('https://jsonplaceholder.typicode.com/posts', data);
          console.log('Created:', response.data);
        } catch (error) {
          console.error('Error creating data:', error);
        }
      };

      createData({ title: 'foo', body: 'bar', userId: 1 });
    
  

Чтение (Read):

JavaScript
    
      const readData = async (id) => {
        try {
          const response = await axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`);
          console.log('Read:', response.data);
        } catch (error) {
          console.error('Error reading data:', error);
        }
      };

      readData(1);
    
  

Обновление (Update):

JavaScript
    
      const updateData = async (id, data) => {
        try {
          const response = await axios.put(`https://jsonplaceholder.typicode.com/posts/${id}`, data);
          console.log('Updated:', response.data);
        } catch (error) {
          console.error('Error updating data:', error);
        }
      };

      updateData(1, { title: 'foo', body: 'bar', userId: 1 });
    
  

Удаление (Delete):

JavaScript
    
      const deleteData = async (id) => {
        try {
          const response = await axios.delete(`https://jsonplaceholder.typicode.com/posts/${id}`);
          if (response.status === 200) {
            console.log('Deleted:', id);
          }
        } catch (error) {
          console.error('Error deleting data:', error);
        }
      };

      deleteData(1);
    
  

6.4 Советы по использованию CRUD

Советы по использованию CRUD операций через API:

  1. Обработка ошибок: всегда обрабатывайте возможные ошибки при выполнении HTTP-запросов. Используйте блоки try...catch или методы catch для обработки ошибок.
  2. Валидация данных: перед отправкой данных на сервер убедитесь, что они соответствуют ожидаемому формату.
  3. Аутентификация и авторизация: при работе с защищенными ресурсами убедитесь, что вы правильно обрабатываете аутентификацию и авторизацию, например, добавляя токены доступа в заголовки запросов.
  4. Пагинация и фильтрация: при получении больших объемов данных используйте параметры запроса для пагинации и фильтрации данных.
  5. Кэширование: для улучшения производительности можно кэшировать часто запрашиваемые данные.
1
Задача
Модуль 1: Web Core, 22 уровень, 5 лекция
Недоступна
Создание записи Fetch
Создание записи Fetch
1
Задача
Модуль 1: Web Core, 22 уровень, 5 лекция
Недоступна
Обновление записи Fetch
Обновление записи Fetch
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Gans Electro Уровень 4
25 ноября 2025
+ лекция в копилке