Skip to main content

Function: httpMutation()

httpMutation<Parameter, Result>(optionsOrRequest): HttpMutation<Parameter, Result>

Defined in: libs/ngrx-toolkit/src/lib/mutation/http-mutation.ts:111

Creates an HTTP mutation.

export type Params = {
value: number;
};

export type CounterResponse = {
// httpbin.org echos the request using the
// json property
json: { counter: number };
};

const simpleSaveUser = httpMutation({
request: (userData: AddUserEntry) => ({
url: 'api/users',
body: userData,
}),
parse: Boolean,
})

const saveUser = httpMutation({
request: (p: Params) => ({
url: `https://httpbin.org/post`,
method: 'POST',
body: { counter: p.value },
headers: { 'Content-Type': 'application/json' },
}),
onSuccess: (response: CounterResponse) => {
console.log('Counter sent to server:', response);
},
onError: (error) => {
console.error('Failed to send counter:', error);
},
});

const result = await this.saveUser({ value: 17 });
if (result.status === 'success') {
console.log('Successfully saved to server:', result.value);
}
else if (result.status === 'error') {
console.log('Failed to save:', result.error);
}
else {
console.log('Operation aborted');
}

Type Parameters

Parameter

Result

Parameters

optionsOrRequest

HttpMutationOptions<Parameter, Result> | (param) => HttpMutationRequest

Returns

HttpMutation<Parameter, Result>

The HTTP mutation.