Как обернуть внешний ответ API для удовлетворения требований json внутреннего источника данных - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь создать плагин источника данных grafana, который должен возвращать ответ в формате табличного типа. Существует сторонний API отдыха, который должен предоставлять данные источнику данных, однако формат запроса / ответа этого внешнего API не соответствует примерным форматам URL-адресов и запросов плагина simple- json -dasasource. Есть ли способ, которым я мог бы обернуть внешний ответ API в методы бэкэнда источника данных (/ query), который затем вызывается внешней частью источника данных? (внешний URL API будет предоставлен в пользовательском интерфейсе настроек источника данных при добавлении источника данных) Буду признателен за ответы / предложения.

1 Ответ

0 голосов
/ 24 апреля 2020

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

Возможно, вы захотите начать что-то вроде этого: https://github.com/grafana/simple-json-datasource

Клонируйте этот проект и измените значения URL, передаваемые в опциях, на функцию doRequest (), эти значения должны указывать на сторонний API.

Кажется, что функция doRequest () возвращает Promise, так что вы можете выполнить преобразование данных, когда они будут выполнены, например:

// simple-json-datasource/src/datasource.js 
// in the query() function
return this.doRequest(options).then(function(result) {
    // your transform code here;
    return transformedResult;
})
...