|
|
(не показана 51 промежуточная версия этого же участника) |
Строка 1: |
Строка 1: |
− | {{DISPLAYTITLE: Описание модели настроек DataManager}}
| |
− | Модель Json разделена на две части - '''Source''' (источник данных) и '''Destination''' (приёмник данных)
| |
| | | |
− | == Source ==
| |
− | === Discriminator ===
| |
− | discriminator - дискриминатор (тип данных - string)
| |
− |
| |
− | * '''UrlDataManagerSource''' - в случае, если источник данных ''ссылка на ресурс''
| |
− | * '''ConstantDataManagerSource''' - если источник данных ''файл''
| |
− | Если источник данных - ''файл'', то в SOURCE достаточно прописать только дискриминатор:
| |
− | <syntaxhighlight lang="JSON" line>
| |
− | "Source": {
| |
− | "discriminator": "ConstantDataManagerSource"
| |
− | },
| |
− | </syntaxhighlight>
| |
− |
| |
− | === Uri ===
| |
− | Uri - унифицированный идентификатор ресурса
| |
− | Запоминаем, дети, DataManager поддерживает следующие источники:
| |
− | * Postgres
| |
− | * Любой get/post запрос
| |
− |
| |
− | {| class="wikitable"
| |
− | |-
| |
− | ! Стенд !! Пример !! Пояснение
| |
− | |-
| |
− | | finance || "Uri": "https://fmpcloud.io/api/v3/symbol/available-indexes?apikey=887f267b885bd2384c2b3ef0bfbee3c9" || Если перейти по ссылке, то данные представляются в json-формате
| |
− | [[Файл:финансы.png|300px]]
| |
− | |-
| |
− | | double.dev || "Uri": "http://filestorage/api/File/e0e88d78-339e-496c-baa8-d5fb18848692" || Ссылка на get-запрос файлового хранилища
| |
− | ''(как получить ссылку на файл из файлового хранилища см ниже)''
| |
− | |-
| |
− | | corp-portal || Текст ячейки || Текст ячейки
| |
− | |}
| |
− |
| |
− | Как получить Uri:
| |
− | Запрос, указанный в Uri должен вернуть json-модель, как в примерах с корп портала/финансов/ецп
| |
− |
| |
− |
| |
− | Ссылка на файловое хранилище - get запрос:
| |
− | 1. Идентификатор файла достать
| |
− | 2. Сваггер для файлового хранилища (от проекта), контроллер файл, get-метод File{fileid}
| |
− | Параметры вызова - тенант и идентификатор файла, затем execute - таким образом мы получаем ссылку на ресурс, смотрим URL Request - копируем его - вставляем эту ссылку в Uri
| |
− |
| |
− | На примере корп портала - там куча запросов и по ним получаем ссылку - вставляем в Uri
| |
− | Ссылку вставить в таком формате - http://filestorage/api/File/e0e88d78-339e-496c-baa8-d5fb18848692
| |
− |
| |
− | Далее авторизация
| |
− | === Credentials ===
| |
− |
| |
− |
| |
− | Есть такая штука:
| |
− | "Credentials": {
| |
− | "discriminator": "ConfidentialClientAuthenticationSettingsDto",
| |
− | "TokenRequestUrl": "https://3v.3v-group.net/auth/realms/trivium/protocol/openid-connect/token",
| |
− | "ClientId": "что-то",
| |
− | "ClientSecret": "что-то"
| |
− | }
| |
− |
| |
− | есть такая штука:
| |
− | "Credentials": {
| |
− | "discriminator": "PasswordAuthenticationSettingsDto",
| |
− | "TokenRequestUrl": "https://smart-id-test.mos.ru/iam/auth/realms/dev/protocol/openid-connect/token",
| |
− | "clientId": "smart-app",
| |
− | "clientSecret": "3fa537da-eac2-4625-a9a5-e8c0db5b4425",
| |
− | "UserName": "ivanov_ii",
| |
− | "Password": "7654321rM"
| |
− | },
| |
− | "Headers": {
| |
− | "namespace": "landscaping"
| |
− | }
| |
− |
| |
− | === Headers ===
| |
− | "Headers": {
| |
− | "namespace": "landscaping"
| |
− | }
| |
− |
| |
− | "Headers": {
| |
− | "Authorization": "Bearer <token>"
| |
− | }
| |
− | Токен берем из средств разработчика (f12 или ctrl+f12)
| |
− | Создается отдельный клиент, который по написанному токену имеет ограниченный набор прав
| |