Содержание

Слайд 2

REST

REST (от англ. Representational State Transfer — «передача состояния представления») — архитектурный

REST REST (от англ. Representational State Transfer — «передача состояния представления») —
стиль взаимодействия компонентов распределенного приложения в сети.
Автор идеи и термина Рой Филдинг 2000г.
REST на сегодняшний день практически вытеснил все остальные подходы, в том числе дизайн основанный на SOAP и WSDL

Слайд 3

Что нам дает REST

Масштабируемость
Общность интерфейсов
Независимое внедрение компонентов
Промежуточные компоненты, снижающие задержку, усиливающие безопасность

Что нам дает REST Масштабируемость Общность интерфейсов Независимое внедрение компонентов Промежуточные компоненты, снижающие задержку, усиливающие безопасность

Слайд 4

Когда использовать REST?

Когда есть ограничение пропускной способности соединения
Если необходимо кэшировать запросы
Если система

Когда использовать REST? Когда есть ограничение пропускной способности соединения Если необходимо кэшировать
предполагает значительное масштабирование
В сервисах, использующих AJAX

Слайд 5

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

Отсутствие дополнительных внутренних прослоек, что означает передачу данных в том же

Преимущества REST Отсутствие дополнительных внутренних прослоек, что означает передачу данных в том
виде, что и сами данные
Каждая единица информации (ресурс) однозначно определяется URL.
Как происходит управление информацией ресурса — это целиком и полностью основывается на протоколе передачи данных.

Слайд 6

HTTP методы

GET – получение (чтение) ресурса
POST – создание ресурса
PUT – обновление ресурса

HTTP методы GET – получение (чтение) ресурса POST – создание ресурса PUT
(целиком)
PATCH – обновление ресурса (частичное)
DELETE – удаление ресурса

Слайд 7

GET – получение (чтение) ресурса

GET http://www.example.com/api/v1.0/users (вернуть список пользователей)
GET http://www.example.com/api/v1.0/users/12345 (вернуть данные

GET – получение (чтение) ресурса GET http://www.example.com/api/v1.0/users (вернуть список пользователей) GET http://www.example.com/api/v1.0/users/12345
о пользователе с id 12345)
GET http://www.example.com/api/v1.0/users/12345/orders (вернуть список заказов пользователя с id 12345)

Слайд 8

POST – создание ресурса

POST http://www.example.com/api/v1.0/customers (создать новый ресурс в разделе customers)
POST http://www.example.com/api/v1.0/customers/12345/orders

POST – создание ресурса POST http://www.example.com/api/v1.0/customers (создать новый ресурс в разделе customers)
(создать заказ для ресурса с id 12345)

Слайд 9

PATCH и PUT – обновление ресурса

PUT http://www.example.com/api/v1.0/users/12345 (обновить данные пользователя с id

PATCH и PUT – обновление ресурса PUT http://www.example.com/api/v1.0/users/12345 (обновить данные пользователя с
12345)
PUT http://www.example.com/api/v1.0/users/12345/orders/98765 (обновить данные заказа с id 98765 для пользователя с id 12345)

Слайд 10

DELETE – удаление ресурса

DELETE http://www.example.com/api/v1.0/customers/12345 (удалить из customers ресурс с id 12345)
DELETE

DELETE – удаление ресурса DELETE http://www.example.com/api/v1.0/customers/12345 (удалить из customers ресурс с id
http://www.example.com/api/v1.0/customers/12345/orders/21 (удалить у ресурса с id 12345 заказ с id 21)

Слайд 11

Коды состояний HTTP

1хх – информационные
100 – Continue
2хх – успешные
200 – OK
201 –

Коды состояний HTTP 1хх – информационные 100 – Continue 2хх – успешные
Created
204 – No Content
3хх – перенаправления
301 – Moved Permanently
307 – Temporary Redirect

4хх – клиентские ошибки
400 – Bad Request
401 – Unauthorized
403 – Forbidden
404 – Not Found
5хх – ошибки сервера
500 – Internal Server Error
502 – Bad Gateway
503 – Service Unavailable