Я создаю настраиваемый соединитель в Microsoft Flow / Logic Apps на основе файла Swagger с расширениями Microsoft (x-ms-dynamic-schema и x-ms-dynamic-values).
Теперь я хочу ПОЛУЧИТЬ массив объектов. Каждый из этих объектов имеет одинаковую схему JSON. Используя расширение x-ms-dynamic-schema, можно указать, что разработчику Logic Apps / Flow необходимо получить схему JSON ответа, чтобы вы могли предоставить свойства своего объекта.
Я хочу добиться:
- У меня есть действие на моем соединителе ("ListEntities"), которое получает массив объектов, которые меня интересуют, определенной сущности (= тип объекта).
- Это же действие выбирает схему для этого типа сущности и отображает свойства ответа.
Что я пробовал до сих пор:
Операция получения схемы:
"/api/entitydefinitions/{type}": { "get": { "summary": "Get Entity Definition Schema", "description": "Gets the schema of an entity definition.", "operationId": "GetEntitySchemaByDefinition", "produces": [ "application/json" ], "parameters": [ { "name": "type", "type": "string", "in": "path", "description": "Select Entity you want to query", "required": true, "x-ms-summary": "Select Entity" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } } } } }
Операция получения списка сущностей:
"/api/entitydefinitions/{type-dynamic}/entities": {
"get": {
"summary": "List entities",
"description": "Gets entities",
"operationId": "ListEntitiesByDefinition",
"parameters": [
{
"name": "type-dynamic",
"type": "string",
"in": "path",
"description": "Select entity definition",
"required": true,
"x-ms-summary": "Entity Definition",
"x-ms-dynamic-values": {
"operationId": "ListEntityDefinitions",
"value-path": "name",
"value-title": "name",
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ListEntitiesByDefinitionResponse"
}
}
}
}
}
Определение ответа на вышеизложенное
"ListEntitiesByDefinitionResponse": { "type": "object", "x-ms-dynamic-schema": { "operationId": "GetEntitySchemaByDefinition", "parameters": { "type": { "parameter": "type-dynamic" } }, "value-path": "items" } },
А теперь пример моего вывода:
[
{
"id": 4541,
"identifier": "123456789",
"Name": "Name 1",
"Description": "",
},
{
"id": 4542,
"identifier": "987654321",
"Name": "FromPostman",
"Description": "",
}
]
И моя схема:
{
"type": "array",
"items": {
"title": "Example",
"type": "object",
"properties": {
"id": {
"type": "integer",
"x-ms-summary": "id"
},
"identifier": {
"type": "string",
"x-ms-summary": "identifier"
},
"Name": {
"type": "string",
"x-ms-summary": "Name"
},
"Description": {
"type": "string",
"x-ms-summary": "Description"
}
},
"required": []
}
}
Проблема в том, что мое приложение Flow действительно показывает мне свойства в режиме разработки:
НО, я ожидал, что будет вставлен цикл (применимый к каждому)
Сам поток также не работает, просто потому, что он не зацикливает объекты в массиве.
Уже потратил на это слишком много времени и искал вашей помощи.