У меня есть микросервис, который выводит следующее в качестве ответа.Это запрос HTTP_GET, который обслуживает http://localhost:8050/location?company=5
curl -X GET http://localhost:8050/location?company=5
{
"locations": [
{ "key": "1050", "lat": 24.000000000, "lon": 46.000000000 },
{ "key": "1254", "lat": 24.999999999, "lon": 46.999999999 }
]
}
. У меня также есть запрос HTTP_POST, который принимает список ключей и возвращает соответствующие данные ветви.он работает на http://localhost:8060/branches
и принимает массив json.
curl -X POST http://localhost:8060/branches -H 'Content-Type: application/json' -d '["1050","1254"]'
, и результат будет
{
"branches": [
{ "key": "1050", "branch_name": "DC", "telephone": "+1 11 111 111" },
{ "key": "1254", "branch_name": "LA", "telephone": "+1 22 222 222" }
]
}
, и мне нужен окончательный объединенный вывод, как указано ниже
{
"branches": [
{ "key": "1050", "branch_name": "DC", "telephone": "+1 11 111 111" },
{ "key": "1254", "branch_name": "LA", "telephone": "+1 22 222 222" }
],
"locations": [
{ "key": "1050", "lat": 24.000000000, "lon": 46.000000000 },
{ "key": "1254", "lat": 24.999999999, "lon": 46.999999999 }
]
}
Я разрабатываю API-шлюз с использованием krakend, и он будет выполнять все вышеперечисленное и обслуживает http://localhost:8080/findBranches?company=2
Вот мой krakend-config.json
{
"version": 2,
"extra_config": {},
"timeout": "3000ms",
"cache_ttl": "300s",
"output_encoding": "json",
"name": "sample",
"endpoints": [
{
"endpoint": "/findBranches",
"method": "GET",
"extra_config": {
"github.com/devopsfaith/krakend/proxy": {
"sequential": true
}
},
"headers_to_pass": [ "*" ],
"querystring_params": [ "company" ],
"output_encoding": "json",
"concurrent_calls": 1,
"backend": [
{
"url_pattern": "/location",
"encoding": "json",
"method": "GET",
"host": [ "http://localhost:8050" ],
"disable_host_sanitize": true
},
{
"url_pattern": "/branches",
"encoding": "json",
"method": "POST",
"host": [ "http://localhost:8060" ],
"disable_host_sanitize": false
}
]
}
]
}
Как мне манипулировать ответом1-й бэкэнд и отправить его на почту запросом второго?