junior
Что такое ресурс в REST?
Ресурс — ключевая абстракция в REST. Ресурсом может быть любая именованная информация: документ, изображение, коллекция других ресурсов, временная сущность (например, текущая погода) и т.д.
Каждый ресурс идентифицируется одним или более URI (Uniform Resource Identifier):
Пример
/api/users — коллекция пользователей
/api/users/42 — конкретный пользователь с id=42
/api/users/42/orders — заказы пользователя с id=42
Типы ресурсов
| Тип | Описание | Пример URI |
|---|---|---|
| Коллекция (Collection) | Набор ресурсов одного типа | /api/users |
| Элемент (Document) | Единичный ресурс | /api/users/42 |
| Хранилище (Store) | Управляемое клиентом хранилище ресурсов | /api/users/42/favorites |
| Контроллер (Controller) | Процедурная концепция для действий вне CRUD | /api/users/42/activate |
Представление ресурса — это конкретное отображение состояния ресурса в определённом формате (JSON, XML, HTML). Один и тот же ресурс может иметь разные представления в зависимости от заголовка Accept.
Пример
{
"id": 42,
"name": "Иван Петров",
"email": "ivan@example.com"
}
На собеседовании: важно объяснить разницу между ресурсом и его представлением. Ресурс — это абстракция (пользователь), а представление — конкретное отображение в формате JSON/XML. Частая ошибка — считать, что ресурс = запись в базе данных.