Skip to content

Documentation / @ember-data/json-api / request / updateRecord

Call Signature

ts
function updateRecord<T, RT>(record, options?): UpdateRequestOptions<SingleResourceDataDocument<RT, StableExistingRecordIdentifier<string>>, T>;

Defined in: -private/builders/save-record.ts:217

Builds request options to update existing record for resources, configured for the url, method and header expectations of most JSON:API APIs.

Basic Usage

ts
import { updateRecord } from '@ember-data/json-api/request';

const person = store.peekRecord('person', '1');
person.name = 'Chris';
const data = await store.request(updateRecord(person));

Supplying Options to Modify the Request Behavior

The following options are supported:

  • patch - Allows caller to specify whether to use a PATCH request instead of a PUT request, defaults to false.
  • host - The host to use for the request, defaults to the host configured with setBuildURLConfig.
  • namespace - The namespace to use for the request, defaults to the namespace configured with setBuildURLConfig.
  • resourcePath - The resource path to use for the request, defaults to pluralizing the supplied type
  • reload - 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 to false 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 to false if none is configured.
  • urlParamsSetting - an object containing options for how to serialize the query params (see buildQueryParams)
ts
import { updateRecord } from '@ember-data/json-api/request';

const person = store.peekRecord('person', '1');
person.name = 'Chris';
const options = updateRecord(person, { patch: true });
const data = await store.request(options);

Type Parameters

T

T extends TypedRecordInstance

RT

RT extends TypedRecordInstance = T

Parameters

record

T

options?

ConstrainedRequestOptions & object

Returns

UpdateRequestOptions<SingleResourceDataDocument<RT, StableExistingRecordIdentifier<string>>, T>

Call Signature

ts
function updateRecord(record, options?): UpdateRequestOptions;

Defined in: -private/builders/save-record.ts:221

Builds request options to update existing record for resources, configured for the url, method and header expectations of most JSON:API APIs.

Basic Usage

ts
import { updateRecord } from '@ember-data/json-api/request';

const person = store.peekRecord('person', '1');
person.name = 'Chris';
const data = await store.request(updateRecord(person));

Supplying Options to Modify the Request Behavior

The following options are supported:

  • patch - Allows caller to specify whether to use a PATCH request instead of a PUT request, defaults to false.
  • host - The host to use for the request, defaults to the host configured with setBuildURLConfig.
  • namespace - The namespace to use for the request, defaults to the namespace configured with setBuildURLConfig.
  • resourcePath - The resource path to use for the request, defaults to pluralizing the supplied type
  • reload - 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 to false 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 to false if none is configured.
  • urlParamsSetting - an object containing options for how to serialize the query params (see buildQueryParams)
ts
import { updateRecord } from '@ember-data/json-api/request';

const person = store.peekRecord('person', '1');
person.name = 'Chris';
const options = updateRecord(person, { patch: true });
const data = await store.request(options);

Parameters

record

unknown

options?

ConstrainedRequestOptions & object

Returns

UpdateRequestOptions

Released under the MIT License.