REST-api: От теории к практике – полное руководство - страница 8

Шрифт
Интервал



2xx – Успешные: Эти статусы указывают на то, что запрос был успешно обработан. Например, статус 200 "OK" указывает обработан и ответ отправлен.


3xx – Перенаправления: Эти статусы используются для перенаправления клиента на другой URL. Например, статус 301 "Перемещено навсегда" указывает то, что ресурс был перемещен новый


4xx – Ошибки клиента: Эти статусы указывают на то, что клиент отправил неверный запрос. Например, статус 404 "Не найдено" указывает ресурс не найден.


5xx – Ошибки сервера: Эти статусы указывают на то, что сервер遇ил ошибку при обработке запроса. Например, статус 500 "Внутренняя ошибка сервера" указывает внутреннюю ошибку.


Использование правильных HTTP-статусов имеет важное значение для того, чтобы клиент мог правильно интерпретировать ответ сервера. Например, если сервер возвращает статус 404 "Не найдено", может отобразить сообщение об ошибке пользователю.


HTTP-заголовки


HTTP-заголовки – это пары ключ-значение, которые передаются в запросе или ответе. Они могут быть использованы для передачи дополнительной информации о Например, заголовок "Content-Type" указывает на тип содержимого ответа, а "Authorization" используется аутентификации клиента.


Некоторые из наиболее часто используемых HTTP-заголовков включают:


Content-Type: Указывает на тип содержимого ответа.


Authorization: Используется для аутентификации клиента.


Accept: Указывает на тип содержимого, который клиент может принять.


Cookie: Используется для хранения данных на стороне клиента.


ETag: Используется для кэширования ответов.


Использование правильных HTTP-заголовков имеет важное значение для того, чтобы клиент и сервер могли правильно общаться. Например, если отправляет запрос с заголовком "Accept: application/json", должен вернуть ответ в формате JSON.


Пример использования HTTP-статусов и заголовков


Допустим, мы проектируем REST-api для управления пользователями. Когда клиент отправляет запрос на создание нового пользователя, сервер должен вернуть ответ с статусом 201 "Создано" и заголовком "Location", который указывает URL пользователя.


```http


POST /users HTTP/1.1


Content-Type: application/json


{


"name": "John Doe",


"email": "john.doe@example.com"


}


```


Ответ сервера:


```http


HTTP/1.1 201 Created


Location: /users/123


Content-Type: application/json


{


"id": 123,


"name": "John Doe",