Есть ли (простой) способ извлечь подстроку из параметра заголовка HTTP? - PullRequest
0 голосов
/ 24 апреля 2019

Я вызываю api rest с разбиением на страницы и в ответ получаю ссылку «next» в заголовке HTTP в следующем формате: Link <https://aaaaaa/bbb/ccc/ddd/version/2.1.1/locations/?date_from=1601-01-01T00%3a00%3a00Z&date_to=2019-04-24T17%3a03%3a29Z&offset=100&limit=100>; отн = "следующий"

Я легко могу получить значение параметра ссылки HTTP-заголовка

Но в приложениях логики Azure нет выражения регулярного выражения, которое я мог бы использовать для дальнейшего анализа значения ссылки только в части между <и>

Один из вариантов - написать функцию Azure, которая справится с этим, но я ищу что-то попроще (если это возможно)

{
    "inputs": {
        "name": "newLink",
        "value": "@{outputs('HTTP')['headers']?['Link']}"
    }
}

переменная newLink теперь содержит полное значение ссылки. Но мне нужна только часть между <и>

Любые советы о том, как я могу разобрать переменную newLink в то, что мне нужно (без использования функций Azure), очень приветствуются.

1 Ответ

3 голосов
/ 25 апреля 2019

Вы можете использовать функцию spilt(), как показано ниже:

@split(split(triggerOutputs()['headers']?['Link'],'<')[1],'>')[0]

Дизайнерский вид

Designer

Кодовый вид

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Response": {
                "inputs": {
                    "body": "@split(split(triggerOutputs()['headers']?['Link'],'<')[1],'>')[0]",
                    "statusCode": 200
                },
                "kind": "Http",
                "runAfter": {},
                "type": "Response"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {},
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {}
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    }
}

Почтальон Звонок:

enter image description here

...