Коллекции
Данный раздел описывает все административные запросы и процесс генерации публичных запросов для работы с коллекциями. Также рассмотрим, как получить список элементов в коллекции и подробно разберем ответ API.
Административные запросы
Административные запросы позволяют управлять коллекциями: создавать, редактировать, публиковать или удалять их.
- Ниже представлен список доступных административных запросов:
- GET /core/collections/ — получение списка всех коллекций.
- GET /core/collections/:id — получение данных о конкретной коллекции по id.
- POST /core/collections/add — создание новой коллекции.
- POST /core/collections/:id/publish — публикация коллекции.
- POST /core/collections/:id — обновление существующей коллекции.
- POST /core/collections/:id/delete — удаление коллекции.
С детальным описанием данных запросов вы можете ознакомится в соответствующих разделах.
Публичные запросы
Публичные запросы используются для получения данных о конкретных элементах коллекции. Динамическая структура эндпоинта позволяет работать с любой коллекцией по её имени.
Короткий запрос:
GET домен/api/{ имя коллекции }
Полный запрос:
GET домен/api/{ имя коллекции }/? { sortBy } & { sortOrder } & { limit } & { page }
Если параметры не указаны, API применяет значения по умолчанию:
- sortBy=id — поле, по которому происходит сортировка.
- sortOrder=ASC — порядок сортировки
- limit=20 — количество элементов на страницу.
- page=1 — текущая страница.
Пример
Для примера возьмем запрос для коллекции "Книги"
GET
/api/knigis/?sortBy=id&sortOrder=ASC&limit=1&page=1
При успешном запросе, ответ будет выглядеть так:
1{
2 "status": "success",
3 "payload": [
4 {
5 "id": 1,
6 "_hits": null,
7 "_sort": 100,
8 "name": "Книга 1",
9 "active": true,
10 "createdAt": "2024-11-12T11:47:07.000Z",
11 "updatedAt": "2024-11-12T11:47:07.000Z"
12 },
13 {
14 "id": 2,
15 "_hits": null,
16 "_sort": 100,
17 "name": "Книга 2",
18 "active": false,
19 "createdAt": "2024-11-12T11:47:32.000Z",
20 "updatedAt": "2024-11-13T18:21:23.000Z"
21 }
22 ],
23 "pagination": {
24 "limit": 0,
25 "offset": 0,
26 "currentTotal": 2,
27 "total": 2,
28 "page": 0
29 }
30}Для работы с ответом публичного запроса удобно использовать следующий интерфейс
1interface IKnigi {
2 id: number;
3 _hits: number | null;
4 _sort: number;
5 name: string;
6 active: boolean;
7 age: number;
8 articul: string;
9 createdAt: string;
10 updatedAt: string;
11}