Ответ
Что хотят услышать интервьюеры
Интервьюеры ожидают от кандидата понимания основных принципов построения REST API, таких как использование HTTP-методов, идентификация ресурсов, работа с форматами данных и управление состоянием. Важно упомянуть о принципах, таких как безсостояние (stateless), кеширование и использование правильных кодов статуса. Кандидат должен продемонстрировать способность применять эти принципы на практике.
Идентификация ресурсов
- Ресурсы в REST API должны быть уникально идентифицированы с помощью URI (Uniform Resource Identifier).
- Например,
/users/123может идентифицировать пользователя с ID 123.
Использование HTTP-методов
- REST API использует стандартные HTTP-методы:
- GET — для получения данных.
- POST — для создания новых ресурсов.
- PUT — для обновления существующих ресурсов.
- DELETE — для удаления ресурсов.
- REST API использует стандартные HTTP-методы:
Безсостояние (Stateless)
- Каждый запрос к серверу должен содержать всю необходимую информацию для его обработки, не полагаясь на состояние сервера.
- Это упрощает масштабирование и управление сессиями.
Форматы данных
- REST API обычно использует JSON или XML для передачи данных. JSON более популярен благодаря своей легковесности и удобству.
- Пример JSON-ответа:
{ "id": 123, "name": "John Doe" }
Кеширование
- REST API должен поддерживать кеширование ответов для повышения производительности и уменьшения нагрузки на сервер.
- Это может быть сделано с помощью HTTP-заголовков, таких как
Cache-Control.
Коды статуса HTTP
- Важно использовать правильные коды статуса для информирования клиентов о результатах запросов.
- Например, 200 для успешного запроса, 404 для ненайденного ресурса, 500 для ошибки на сервере.
Уровень представления (HATEOAS)
- API может предоставлять клиентам ссылки на другие доступные действия, что делает интерфейс более самодокументируемым.
Что могут спросить дальше
- Показать пример REST API с использованием этих принципов.
- Объяснить, как реализовать безсостояние в API.
- Обсудить примеры кодов статуса и их использование.
- Предоставить рекомендации по кешированию данных в API.