Skip to content

Ресурс

Apostol Developer edited this page Sep 25, 2021 · 6 revisions

Система предоставляет возможность хранить строковые (бинарные в формате BASE64) ресурсы в древовидной структуре и в разрезе нескольких языков.

Ресурс имеет UUID (Universally unique identifier) «универсальный уникальный идентификатор» на который можно ссылаться из программного кода клиентского приложения.

Для доступа к ресурсу нужно указать:

  1. Идентификатор (uuid);
  2. Код языка (localecode) - Если параметр не указан язык будет выбран или из текущей сессии авторизованного пользователя или из системных настроек.

API

Количество

POST /api/v1/resource/count

Количество ресурсов с возможностью указания фильтра отбора данных.

Параметры запроса: Общие параметры запроса для списка

Установить

POST /api/v1/resource/set

Создает новый или меняет ранее созданные ресурс.

Параметры запроса:

Имя Тип Значение Описание
id UUID Необязательный. Идентификатор ресурса. Можно указать свой или пропустить для генерации на стороне сервера.
root UUID Необязательный. Идентификатор корневого узла. Передать null для создания корневого узла или ресурса без древовидной структуры.
node UUID Необязательный. Идентификатор узла родителя. Передать null для ресурса без древовидной структуры.
type STRING MIME type Рекомендуемый. Multipurpose Internet Mail Extensions (MIME) тип.
name STRING Рекомендуемый. Наименование ресурса.
description STRING Необязательный. Описание ресурса.
encoding STRING UTF-8, BASE64 Рекомендуемый. Кодировка ресурса.
data STRING Необязательный. Данные ресурса.
sequence INTEGER Необязательный. Очерёдность в рамках текущего уровня.
localecode STRING en, ru Необязательный. Код локали (языка).

Получить

POST /api/v1/resource/get

Получить ресурс.

Параметры запроса:

Имя Тип Значение Описание
id UUID Обязательный. Идентификатор ресурса.

Формат ответа:

Имя Тип Описание
id UUID Идентификатор ресурса.
root UUID Идентификатор Идентификатор корневого узла.
node UUID Идентификатор узла родителя.
type STRING Multipurpose Internet Mail Extensions (MIME) тип.
level INTEGER Уровень вложенности в иерархии дерева.
sequence INTEGER Очерёдность в рамках текущего уровня.
name STRING Наименование ресурса.
description STRING Описание ресурса.
encoding STRING Кодировка ресурса (UTF-8, BASE64).
data STRING Данные ресурса.
updated TIMESTAMP Дата последнего обновления.
locale NUMERIC Идентификатор локали (языка).
localecode STRING Код локали (языка).
localename STRING Наименование локали (языка).
localedescription STRING Описание локали (языка).

Список

POST /api/v1/resource/list

Возвращает список ресурсов. Параметры запроса: Общие параметры запроса для списка

Примеры

Запрос:

POST /api/v1/resource/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"localecode": "ru", "name": "text", "data": "Текст"}

Запрос:

POST /api/v1/resource/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"id": "553f7ab4-58c0-48ef-85f5-a10be1ce3c2d", "localecode": "ru", "name": "Новый", "data": "Новый ресурс"}

Запрос:

POST /api/v1/resource/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"id": "553f7ab4-58c0-48ef-85f5-a10be1ce3c2d", "localecode": "en", "name": "New", "data": "New resource"}

Запрос:

POST /api/v1/resource/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"id":"a99d1bd5-5871-4bc9-87a7-2b92b399730e", "root": "553f7ab4-58c0-48ef-85f5-a10be1ce3c2d", "node": "553f7ab4-58c0-48ef-85f5-a10be1ce3c2d", "localecode": "ru", "name": "Дочерний", "data": "Дочерний ресурс"}

Запрос:

POST /api/v1/resource/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
Content-Type: application/json

{"root": "553f7ab4-58c0-48ef-85f5-a10be1ce3c2d", "node": "a99d1bd5-5871-4bc9-87a7-2b92b399730e", "localecode": "ru", "name": "Дочерний 2", "data": "Дочерний ресурс 2"}
Clone this wiki locally