Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
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) | Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request. |
| delete(url, data) | |
| fetch(options) | Observable http request interface |
| get(url, params, requestId) | |
| patch(url, data) | |
| post(url, data) | |
| put(url, data) | |
| request(options) |
datasourceRequest method
Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request.
Signature
datasourceRequest<T = any>(options: BackendSrvRequest): Promise<FetchResponse<T>>;Parameters
| Parameter | Type | Description |
|---|---|---|
| options | BackendSrvRequest |
Returns:
Promise<FetchResponse<T>>
delete method
Signature
delete(url: string, data?: any): Promise<any>;Parameters
| Parameter | Type | Description |
|---|---|---|
| url | string | |
| data | any |
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>



