API Reference@grafana/runtime › BackendSrv

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

export interface BackendSrv 

Import

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

Method Description
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

datasourceRequest(options: BackendSrvRequest): Promise<any>;

Parameters

Parameter Type Description
options BackendSrvRequest

Returns:

Promise<any>

delete method

Signature

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

Parameters

Parameter Type Description
url string

Returns:

Promise<any>

fetch method

Observable http request interface

Signature

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

Parameters

Parameter Type Description
options BackendSrvRequest

Returns:

Observable<FetchResponse<T>>

get method

Signature

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

Parameters

Parameter Type Description
url string
params any
requestId string

Returns:

Promise<any>

patch method

Signature

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

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

post method

Signature

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

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

put method

Signature

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

Parameters

Parameter Type Description
url string
data any

Returns:

Promise<any>

request method

Signature

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

Parameters

Parameter Type Description
options BackendSrvRequest

Returns:

Promise<any>