๐ฅFetch Wrapper
class FetchWrapper {
constructor(baseUrl) {
this.baseUrl = baseUrl;
}
async get(url) {
const response = await fetch(`${this.baseUrl}${url}`);
return response.json();
}
async put(url, data) {
const response = await fetch(`${this.baseUrl}${url}`, {
method: 'PUT',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json',
},
});
return response.json();
}
async post(url, data) {
const response = await fetch(`${this.baseUrl}${url}`, {
method: 'POST',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json',
},
});
return response.json();
}
async delete(url) {
const response = await fetch(`${this.baseUrl}${url}`, {
method: 'DELETE',
});
return response.json();
}
}
const fetchWrapper = new FetchWrapper('https://my-api.com');
// GET request
fetchWrapper
.get('/users')
.then((users) => console.log(users))
.catch((error) => console.error(error));
// PUT request
fetchWrapper
.put('/users/1', { name: 'John', age: 30 })
.then((user) => console.log(user))
.catch((error) => console.error(error));
// POST request
fetchWrapper
.post('/users', { name: 'Jane', age: 25 })
.then((user) => console.log(user))
.catch((error) => console.error(error));
// DELETE request
fetchWrapper
.delete('/users/1')
.then((user) => console.log(user))
.catch((error) => console.error(error));Last updated