5xx: серверные ошибки, которые указывают на то, что сервер遇ил проблему при обработке запроса. Например, статус 500 Internal Server Error указывает внутреннюю ошибку.
Использование HTTP-методов и статусов в REST-api
В REST-api HTTP-методы и статусы используются для определения действий, которые могут быть выполнены над ресурсами. Например, если мы хотим создать новый пользователь, можем отправить POST-запрос на сервер с информацией о пользователе. Если запрос выполнен успешно, вернет статус 201 Created, указывающий то, что пользователь создан.
Аналогично, если мы хотим получить информацию о пользователе, можем отправить GET-запрос на сервер. Если запрос выполнен успешно, сервер вернет статус 200 OK и пользователе.
В следующей главе мы рассмотрим, как использовать HTTP-методы и статусы для построения REST-api, они могут быть использованы создания эффективных масштабируемых веб-приложений.
2.3. Маршрутизация и URL-адреса
В предыдущих главах мы рассмотрели основные принципы построения REST-api и узнали, как создавать ресурсы обрабатывать запросы. Теперь пришло время поговорить о том, организовать доступ к нашим ресурсам. Для этого нам понадобится система маршрутизации, которая позволит связать URL-адреса с конкретными обработчиками запросов.
Что такое маршрутизация?
Маршрутизация – это процесс определения того, какой обработчик запроса должен быть вызван при поступлении на определенный URL-адрес. Другими словами, маршрутизация помогает нам определить, что делать с запросом, когда он поступает наш сервер.
В REST-api маршрутизация обычно основана на методе запроса (GET, POST, PUT, DELETE и т.д.) URL-адресе. Например, если мы хотим получить список всех пользователей, можем отправить GET-запрос URL-адрес `/users`. Если создать нового пользователя, POST-запрос тот же URL-адрес.
Как работает маршрутизация?
Маршрутизация обычно работает следующим образом:
1. Клиент отправляет запрос на определенный URL-адрес.
2. Сервер получает запрос и определяет метод запроса (GET, POST, PUT, DELETE т.д.).
3. Сервер проверяет URL-адрес и определяет, какой обработчик запроса должен быть вызван.
4. Обработчик запроса обрабатывает запрос и возвращает ответ клиенту.
Пример маршрутизации
Допустим, у нас есть REST-api для управления пользователями, и мы хотим реализовать следующие маршруты: