Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 4.59 KB

REST.md

File metadata and controls

61 lines (47 loc) · 4.59 KB

Содержание



REST

REST (Representational state transfer - передача состояния представления) - архитектурный стиль обмена данными между разными компонентами системы, каждая из которых может физически располагаться в разных местах.

Представляет собой согласованный набор ограничений, учитываемых при проектировании удаленной системы.

REST - это паттерн проектирования web-приложений. Он описывает то, как посредством протокола HTTP должен взаимодействовать клиент с сервером.

Все взаимодействие с сервером сводится к 4 операциям, которые используют свой HTTP метод - GET (получение данных), POST (добавление, изменение, удаление), PATCH (добавление, изменение), DELETE (удаление).

HTTP метод URL Действие
GET /posts Получаем список данных
GET /posts/new HTML форма создания записи
GET /posts/:id/edit HTML форма редактирования записи
GET /posts/:id Получаем одну запись
POST /posts Создаем новую запись
PATCH /posts/:id Обновляем запись
DELETE /posts/:id Удаляем запись

Преимущества

  • надежность в виде отсутствия необходимости сохранять информацию о состояни клиентов
  • производительность за счет использования кэша
  • масштабируемость
  • прозрачность системы взаимодействия
  • простота интерфейсов
  • портативность компонентов
  • легкость внесения изменений

Коммуникаия между клиентом и сервером

Коммуникация проходит путем запросов-ответов. Запросы содержат:

  • HTTP метод;
  • заголовок;
  • URI;
  • тело запроса - JSON или XML.

Примеры запросов

Запрос Описание
GET /clients/23
Accept : application/json, application/xml
Получить информацию о клиенте №23 в формате json или xml
POST /clients
{
"name" : "Amigo",
"email" : "[email protected]",
"phone" : +7 (191) 746-43-23"
}
Создать нового клиента с полями:
Имя — Amigo
Email — [email protected]
Тел. — +7 (191) 746-43-23
PUT /clients/1
{
"name" : "Ben",
"email" : "[email protected]",
"phone" : "+380 (190) 346-42-13"
}
Редактировать клиента №1 в следующим образом:
Имя — Ben
Email — [email protected]
Тел. — +380 (190) 346-42-13
DELETE /clients/12/orders/6 Удалить из системы заказ №6 у клиента №12

Вернуться назад