Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

Источник данных REST API

Источник данных: REST APIStandard Edition+

Введение

Этот плагин позволяет беспрепятственно интегрировать данные из источников REST API.

Установка

Этот плагин является коммерческим, его необходимо загрузить и активировать через менеджер плагинов.

20240323162741

Добавление источника REST API

После активации плагина вы можете добавить источник REST API, выбрав его из выпадающего меню «Добавить новый» в разделе управления источниками данных.

20240721171420

Настройте источник REST API.

20240721171507

Добавление коллекции

В NocoBase ресурс RESTful сопоставляется с коллекцией, например, с ресурсом Users.

GET /users
POST /users
GET /users/1
PUT /users/1
DELETE /users/1

Эти конечные точки API сопоставляются в NocoBase следующим образом:

GET /users:list
POST /users:create
POST /users:get?filterByTk=1
POST /users:update?filterByTk=1
POST /users:destroy?filterByTk=1

Полное руководство по спецификациям дизайна NocoBase API вы найдете в документации по API.

20240716213344

Ознакомьтесь с главой «NocoBase API - Core» для получения подробной информации.

20240716213258

Конфигурация коллекции для источника данных REST API включает следующее:

List

Настройте сопоставление интерфейса для просмотра списка ресурсов.

20240716211351

Get

Настройте сопоставление интерфейса для просмотра деталей ресурса.

20240716211532

Create

Настройте сопоставление интерфейса для создания ресурса.

20240716211634

Update

Настройте сопоставление интерфейса для обновления ресурса. 20240716211733

Destroy

Настройте сопоставление интерфейса для удаления ресурса.

20240716211808

Интерфейсы List и Get являются обязательными для настройки.

Отладка API

Интеграция параметров запроса

Пример: Настройте параметры пагинации для интерфейса List. Если сторонний API не поддерживает пагинацию изначально, NocoBase будет выполнять пагинацию на основе полученных данных списка.

20241121205229

Обратите внимание, что будут действовать только переменные, добавленные в интерфейсе.

Название параметра стороннего APIПараметр NocoBase
page{{request.params.page}}
limit{{request.params.pageSize}}

Вы можете нажать «Попробовать» (Try it out), чтобы отладить и просмотреть ответ.

20241121210320

Преобразование формата ответа

Формат ответа стороннего API может не соответствовать стандарту NocoBase, и его необходимо преобразовать, прежде чем он сможет корректно отображаться во внешнем интерфейсе.

20241121214638

Настройте правила преобразования в соответствии с форматом ответа стороннего API, чтобы обеспечить соответствие выходных данных стандарту NocoBase.

20241121215100

Описание процесса отладки

20240717110051

Переменные

Источник данных REST API поддерживает три типа переменных для интеграции API:

  • Пользовательские переменные источника данных
  • Переменные запроса NocoBase
  • Переменные ответа стороннего сервиса

Пользовательские переменные источника данных

20240716221937

20240716221858

Запрос NocoBase

  • Params: Параметры запроса URL (Search Params), которые различаются в зависимости от интерфейса.
  • Headers: Пользовательские заголовки запроса, в основном предоставляющие специфическую X-информацию от NocoBase.
  • Body: Тело запроса.
  • Token: Токен API для текущего запроса NocoBase.

20240716222042

Ответы сторонних сервисов

В настоящее время доступно только тело ответа.

20240716222303

Ниже приведены переменные, доступные для каждого интерфейса:

List

ПараметрОписание
request.params.pageТекущая страница
request.params.pageSizeКоличество элементов на странице
request.params.filterКритерии фильтрации (должны соответствовать формату фильтра NocoBase)
request.params.sortКритерии сортировки (должны соответствовать формату сортировки NocoBase)
request.params.appendsПоля для загрузки по требованию, обычно для полей связей
request.params.fieldsПоля для включения (белый список)
request.params.exceptПоля для исключения (черный список)

Get

ПараметрОписание
request.params.filterByTkОбязательно, обычно это ID текущей записи
request.params.filterКритерии фильтрации (должны соответствовать формату фильтра NocoBase)
request.params.appendsПоля для загрузки по требованию, обычно для полей связей
request.params.fieldsПоля для включения (белый список)
request.params.exceptПоля для исключения (черный список)

Create

ПараметрОписание
request.params.whiteListБелый список
request.params.blacklistЧерный список
request.bodyИсходные данные для создания

Update

ПараметрОписание
request.params.filterByTkОбязательно, обычно это ID текущей записи
request.params.filterКритерии фильтрации (должны соответствовать формату фильтра NocoBase)
request.params.whiteListБелый список
request.params.blacklistЧерный список
request.bodyДанные для обновления

Destroy

ПараметрОписание
request.params.filterByTkОбязательно, обычно это ID текущей записи
request.params.filterКритерии фильтрации (должны соответствовать формату фильтра NocoBase)

Настройка полей

Метаданные полей (Fields) извлекаются из данных CRUD-интерфейса адаптированного ресурса и используются в качестве полей коллекции.

20240716223636

Извлечение метаданных полей.

20241121230436

Поля и предварительный просмотр.

20240716224403

Редактирование полей (аналогично другим источникам данных).

20240716224704

Добавление блоков источника данных REST API

После настройки коллекции вы можете добавлять блоки в интерфейс.

20240716225120