Documentation / @ember-data/json-api / request / query
Call Signature
function query<T>(
type,
query?,
options?): QueryRequestOptions<CollectionResourceDataDocument<T>, T>;
Defined in: -private/builders/query.ts:66
Builds request options to query for resources, usually by a primary type, configured for the url and header expectations of most JSON:API APIs.
The key difference between this and postQuery
is that this method will send the query as query params in the url of a "GET" request instead of as the JSON body of a "POST" request.
Basic Usage
import { query } from '@ember-data/json-api/request';
const data = await store.request(query('person'));
With Query Params
import { query } from '@ember-data/json-api/request';
const options = query('person', { include: ['pets', 'friends'] });
const data = await store.request(options);
Supplying Options to Modify the Request Behavior
The following options are supported:
host
- The host to use for the request, defaults to thehost
configured withsetBuildURLConfig
.namespace
- The namespace to use for the request, defaults to thenamespace
configured withsetBuildURLConfig
.resourcePath
- The resource path to use for the request, defaults to pluralizing the supplied typereload
- Whether to forcibly reload the request if it is already in the store, not supplying this option will delegate to the store's CachePolicy, defaulting tofalse
if none is configured.backgroundReload
- Whether to reload the request if it is already in the store, but to also resolve the promise with the cached value, not supplying this option will delegate to the store's CachePolicy, defaulting tofalse
if none is configured.urlParamsSetting
- an object containing options for how to serialize the query params (seebuildQueryParams
)
import { query } from '@ember-data/json-api/request';
const options = query('person', { include: ['pets', 'friends'] }, { reload: true });
const data = await store.request(options);
Type Parameters
T
T
extends TypedRecordInstance
Parameters
type
query?
options?
Returns
QueryRequestOptions
<CollectionResourceDataDocument
<T
>, T
>
Call Signature
function query(
type,
query?,
options?): QueryRequestOptions;
Defined in: -private/builders/query.ts:71
Builds request options to query for resources, usually by a primary type, configured for the url and header expectations of most JSON:API APIs.
The key difference between this and postQuery
is that this method will send the query as query params in the url of a "GET" request instead of as the JSON body of a "POST" request.
Basic Usage
import { query } from '@ember-data/json-api/request';
const data = await store.request(query('person'));
With Query Params
import { query } from '@ember-data/json-api/request';
const options = query('person', { include: ['pets', 'friends'] });
const data = await store.request(options);
Supplying Options to Modify the Request Behavior
The following options are supported:
host
- The host to use for the request, defaults to thehost
configured withsetBuildURLConfig
.namespace
- The namespace to use for the request, defaults to thenamespace
configured withsetBuildURLConfig
.resourcePath
- The resource path to use for the request, defaults to pluralizing the supplied typereload
- Whether to forcibly reload the request if it is already in the store, not supplying this option will delegate to the store's CachePolicy, defaulting tofalse
if none is configured.backgroundReload
- Whether to reload the request if it is already in the store, but to also resolve the promise with the cached value, not supplying this option will delegate to the store's CachePolicy, defaulting tofalse
if none is configured.urlParamsSetting
- an object containing options for how to serialize the query params (seebuildQueryParams
)
import { query } from '@ember-data/json-api/request';
const options = query('person', { include: ['pets', 'friends'] }, { reload: true });
const data = await store.request(options);
Parameters
type
string