Skip to content

Commit e21cfd5

Browse files
committed
Uses axios api to handle params
1 parent 43772d6 commit e21cfd5

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

client/src/api/client.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const client = axios.create({
2121
Accept: 'application/vnd.api+json',
2222
'Content-Type': 'application/vnd.api+json',
2323
},
24+
paramsSerializer: params => qs.stringify(params, { format: 'RFC1738', arrayFormat: 'brackets' }),
2425
});
2526

2627
client.interceptors.response.use(
@@ -47,10 +48,6 @@ client.interceptors.request.use(
4748
error => Promise.reject(error),
4849
);
4950

50-
const stringifyParams = params => qs.stringify(params, { format: 'RFC1738', arrayFormat: 'brackets' });
51-
52-
export const withParams = (url, params) => `${url}?${stringifyParams(params)}`;
53-
5451
export const normalizeResponse = (response) => {
5552
const { data = [], included = [] } = response.data;
5653
const dataByType = groupBy(castArray(data).concat(included), 'type');

client/src/store/api/actions.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { omit } from 'lodash';
22

33
import {
44
client,
5-
withParams,
65
normalizeResponse,
76
normalizeEndpointError,
87
normalizeErrors,
@@ -22,33 +21,37 @@ export const UPDATE = createAsyncActionType('UPDATE');
2221
export const DELETE = createAsyncActionType('DELETE');
2322

2423
export const fetchOne = createAsyncAction(GET_ONE, (payload, meta) => client({
25-
url: withParams(`${meta.url}/${payload.id}`, { include: meta.include, ...omit(payload, 'id') }),
24+
url: `${meta.url}/${payload.id}`,
25+
params: { include: meta.include, ...omit(payload, 'id') },
2626
method: 'GET',
2727
data: JSON.stringify(payload),
2828
}).then(normalizeResponse).catch(normalizeEndpointError));
2929

3030
export const fetchList = createAsyncAction(GET_LIST, (payload, meta) => {
3131
const params = { include: meta.include, ...payload };
3232
return client({
33-
url: withParams(meta.url, params),
33+
url: meta.url,
34+
params,
3435
method: 'GET',
3536
data: JSON.stringify(payload),
3637
}).then(normalizeResponse).then(res => ({ ...res, params }));
3738
});
3839

3940
export const createResource = createAsyncAction(CREATE, (payload, meta) => client({
40-
url: withParams(meta.url, { include: meta.include }),
41+
url: meta.url,
42+
params: { include: meta.include },
4143
method: 'POST',
4244
data: denormalize(meta.key, payload),
4345
}).then(normalizeResponse).catch(normalizeErrors));
4446

4547
export const updateResource = createAsyncAction(UPDATE, (payload, meta) => client({
46-
url: withParams(`${meta.url}/${payload.id}`, { include: meta.include }),
48+
url: `${meta.url}/${payload.id}`,
49+
params: { include: meta.include },
4750
method: 'PUT',
4851
data: denormalize(meta.key, payload),
4952
}).then(normalizeResponse).catch(normalizeErrors));
5053

5154
export const deleteResource = createAsyncAction(DELETE, (payload, meta) => client({
52-
url: withParams(`${meta.url}/${payload.id}`),
55+
url: `${meta.url}/${payload.id}`,
5356
method: 'DELETE',
5457
}).then(() => ({ data: payload })));

0 commit comments

Comments
 (0)