Шпаргалка - REST

Отредачено 23.01.2025,
а чекнуто 625 💁

REST (Representational State Transfer) представляет собой архитектурный стиль взаимодействия компонентов в сети. В контексте веб-сервисов REST использует стандартные HTTP-методы для управления данными через API. Вот основные HTTP-методы, используемые в RESTful сервисах, и их назначение:

  1. GET: Используется для извлечения данных с сервера. GET-запросы должны быть идемпотентными, то есть не должны изменять состояние сервера. Их можно выполнять многократно без риска изменения данных или их поведения.

  2. POST: Применяется для создания нового ресурса на сервере. POST-запросы не идемпотентны, что означает, что повторение одного и того же POST-запроса обычно приводит к созданию новых ресурсов.

  3. PUT: Используется для обновления существующего ресурса или создания нового, если он отсутствует, на основе предоставленного URI. PUT-запросы должны быть идемпотентными, так что повторный запрос с теми же данными должен давать тот же результат.

  4. DELETE: Применяется для удаления существующего ресурса по указанному URI. DELETE-запросы также должны быть идемпотентными, и повторное выполнение запроса должно подтверждать удаление ресурса, но не приводить к дополнительным изменениям.

  5. PATCH: Используется для частичного обновления ресурса. В отличие от PUT, который обычно требует отправки полного набора данных ресурса, PATCH применяется для отправки только изменений. PATCH-запросы не обязательно идемпотентны.

  6. HEAD: Аналогичен GET, но сервер возвращает только заголовки ответа без тела сообщения. Это полезно, например, для извлечения метаданных о ресурсе без загрузки самого ресурса.

  7. OPTIONS: Используется для описания параметров связи с ресурсом. С его помощью клиент может узнать, какие HTTP-методы поддерживаются для ресурса. Это может быть использовано для проверки возможностей веб-сервера или для проверки наличия функций, таких как CORS (Cross-Origin Resource Sharing).

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

В Laravel, когда вы генерируете контроллер ресурса с помощью консольной команды artisan, создается контроллер с несколькими методами, каждый из которых соответствует определённой операции CRUD:

  • index для отображения списка ресурсов

  • create для возвращения формы создания нового ресурса

  • store для сохранения нового ресурса в базе данных

  • show для отображения определенного ресурса

  • edit для возвращения формы редактирования существующего ресурса

  • update для обновления ресурса в базе данных

  • destroy для удаления ресурса

Метод store обычно принимает данные из HTTP-запроса POST, обрабатывает их (например, проводит валидацию), и если данные корректны, создает новый ресурс в базе данных. Вот пример того, как может выглядеть метод store в контроллере ресурса:

 
public function store(Request $request)
{
    // Валидация входящих данных
    $validatedData = $request->validate([
        'name' => 'required|max:255',
        // другие поля для валидации
    ]);

    // Создание нового ресурса
    $resource = new Resource($validatedData);
    $resource->save();

    // Перенаправление на страницу с ресурсами или вывод сообщения об успехе
    return redirect()->route('resources.index')->with('success', 'Resource created successfully!');
}

Этот метод store соответствует действию "Create" в CRUD и обычно вызывается в ответ на POST запрос на соответствующий URI.

Просто список:

public  function get(){}
public  function post(){}
public  function put(){}
public  function delete(){}
public  function patch(){}
public  function head(){}
public  function options(){}
ООП