-
Notifications
You must be signed in to change notification settings - Fork 1
Файлы объекта
С объектом в системе можно ассоциировать файл. Если содержимое файла не будет пустым то файл автоматически выгрузится из базы данных в хранилище файлов, что предоставит возможность скачивать файл по прямой ссылке. Ссылка на файл будет указана в поле link
.
POST /api/v1/object/file
Получить или установить связь объекта с файлом на сервере или содержимое файла.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
id | UUID | Обязательный. Идентификатор объекта. | |
files | JSON array | null OR json | Вариативный. Массив JSON объектов с описанием файлов. |
Формат files
:
Ключ | Тип | Описание |
---|---|---|
name | STRING | Обязательный. Наименование файла на сервере (без пути). |
path | STRING |
Необязательный. Путь к файлу. По умолчанию: / . |
size | INTEGER | Необязательный. Размер файла (осторожнее с null или 0). |
date | TIMESTAMP | Необязательный. Дата и время файла. |
data | BASE64 | Необязательный. Содержимое файла (если нужно). |
hash | STRING | Необязательный. Хеш файла. |
text | STRING | Необязательный. Описание файла. |
type | STRING | Необязательный. Тип файла. |
ВНИМАНИЕ: Если значение files
не указано или равно null
, то метод работает как Получить
иначе как Установить
.
POST /api/v1/object/file/set
Установить связь объекта с файлом на сервере.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
id | UUID | Обязательный. Идентификатор объекта. | |
files | JSON array | Обязательный. Массив JSON объектов с описанием файлов. |
ВНИМАНИЕ: Значения не указанных ключей считаются как null
.
ВНИМАНИЕ: Если значение ключа size
не указано или равно нулю, то действие считается как Удалить
.
Пример запроса:
POST /api/v1/object/file/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
{
"id":"29ece761-f1d8-4957-8ce9-de27b319a7fa",
"files":[
{
"name": "icon.jpg",
"path": "/public",
"size": 2245,
"date": "2019-06-21T06:32:54.317Z",
"text": "icon.jpg",
"type": "data:image/jpeg;base64,",
"data": "<BASE64 encoded data>"
}
]
}
POST /api/v1/object/file/get
Получить связь объекта с файлом на сервере.
Параметры запроса:
Имя | Тип | Значение | Описание |
---|---|---|---|
id | UUID | Обязательный. Идентификатор объекта. | |
name | STRING | Обязательный. Наименование файла на сервере. | |
fields | JSON array | Необязательный. Массив JSON string полей в таблице, если не указано то запрос вернет все поля. |
Формат ответа:
Поле | Тип | Описание |
---|---|---|
object | UUID | Идентификатор объекта. |
name | STRING | Наименование файла на сервере (без пути). |
path | STRING | Путь к файлу. По умолчанию: / . |
size | INTEGER | Размер файла (осторожнее с null или 0). |
date | TIMESTAMP | Дата и время файла. |
data | BASE64 | Содержимое файла (если есть). |
link | STRING | Прямая ссылка на файл. Подробнее: Хранилище файлов. |
hash | STRING | Хеш файла. |
text | STRING | Описание файла. |
type | STRING | Тип файла. |
loaded | TIMESTAMP | Когда был загружен на сервер. |
Пример запроса:
POST /api/v1/object/file/get HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg
{
"object": "29ece761-f1d8-4957-8ce9-de27b319a7fa",
"name": "icon.jpg",
"path": "/public"
}
Пример ответа:
{
"object": "29ece761-f1d8-4957-8ce9-de27b319a7fa",
"name": "icon.jpg"
"path": "/public/",
"size": 2245,
"date": "2019-06-21T06:32:54.317",
"data": "<BASE64 encoded data>",
"link": "/file/29ece761-f1d8-4957-8ce9-de27b319a7fa/public/icon.jpg"
"hash": null,
"text": "icon.jpg",
"type": "data:image/jpeg;base64,",
"loaded": "2021-04-05T21:12:19.417855"
}
POST /api/v1/object/file/list
Получить связи объекта с файлами на сервере в виде списка.
Параметры запроса: Общие параметры запроса для списка