BackendSrv interface

Used to communicate via http(s) to a remote backend such as the Grafana backend, a datasource etc. The BackendSrv is using the Fetch API under the hood to handle all the communication.

The request function can be used to perform a remote call by specifying a BackendSrvRequest. To make the BackendSrv a bit easier to use we have added a couple of shorthand functions that will use default values executing the request.

Signature

  1. export interface BackendSrv

Import

  1. import { BackendSrv } from '@grafana/runtime';

Remarks

By default, Grafana displays an error message alert if the remote call fails. To prevent this from happening showErrorAlert = true on the options object.

Methods

MethodDescription
datasourceRequest(options)
delete(url)
fetch(options)Observable http request interface
get(url, params, requestId)
patch(url, data)
post(url, data)
put(url, data)
request(options)

datasourceRequest method

Signature

  1. datasourceRequest<T = any>(options: BackendSrvRequest): Promise<FetchResponse<T>>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Promise<FetchResponse<T>>

delete method

Signature

  1. delete(url: string): Promise<any>;

Parameters

ParameterTypeDescription
urlstring

Returns:

Promise<any>

fetch method

Observable http request interface

Signature

  1. fetch<T>(options: BackendSrvRequest): Observable<FetchResponse<T>>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Observable<FetchResponse<T>>

get method

Signature

  1. get(url: string, params?: any, requestId?: string): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
paramsany
requestIdstring

Returns:

Promise<any>

patch method

Signature

  1. patch(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

post method

Signature

  1. post(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

put method

Signature

  1. put(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

request method

Signature

  1. request(options: BackendSrvRequest): Promise<any>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Promise<any>