- Creating objects for API requests with predefined configurations.
function createApiRequestFactory(defaultMethod) {
return function(endpoint, payload = {}) {
return {
method: defaultMethod,
endpoint: endpoint,
payload: payload,
getRequestDetails() {
return {
method: this.method,
endpoint: this.endpoint,
payload: this.payload
};
}
};
};
}
const createGetRequest = createApiRequestFactory('GET');
const createPostRequest = createApiRequestFactory('POST');
const getRequest = createGetRequest('/users');
const postRequest = createPostRequest('/users', { name: 'John Doe', age: 30 });
console.log(getRequest.getRequestDetails()); // Output: { method: 'GET', endpoint: '/users', payload: {} }
console.log(postRequest.getRequestDetails()); // Output: { method: 'POST', endpoint: '/users', payload: { name: 'John Doe', age: 30 } }