# REST API в протоколе HTTP

Как правило при создании сайтов для получения, создания, изменения и удаления данных используются только методы GET и POST, так как они хорошо поддерживаются браузерами и серверами. То же самое относится и к API, предоставляемым сайтами. Существуют, однако, специальные подходы, стандартизирующие API для общего удобства как разработчиков API, так и его пользователей.

Одним из подходов является REST API (часто говорят RESTful употребляя это слово в качестве прилагательного). В основе этого API лежит широкое использование методов протокола HTTP. В данном подходе с помощью метода GET получаются данные, с помощью метода POST создаются, с помощью метода PUT изменяются, а с помощью метода DELETE - удаляются.

Для примера давайте рассмотрим некое API, манипулирующее юзерами. Давайте посмотрим, как будут выглядеть URL для различных действий.

Получаем всех юзеров:

`GET http://api.loc/users/`

Получаем одного юзера по его `id`:

`GET http://api.loc/user/1/`

Создаем юзера:

`POST http://api.loc/user/`

Изменяем юзера по его `id`:

`PUT http://api.loc/user/1/`

Удаляем юзера по его `id`:

`DELETE http://api.loc/user/1/`

Пусть у вас есть API продуктов интернет магазина. Распишите урлы магазина так, чтобы API стало RESTful.

←
↑