DEV Community

Igor Alexandrov for JetRockets

Posted on • Originally published at jetrockets.pro

Request Api Adapter

When developing client applications, it is often necessary to send requests to the server.

// ...
client({ url: "/users.json", method: "GET" }).then(...)

Enter fullscreen mode Exit fullscreen mode

We can make our lives a little easier. A convenient abstraction is apiAdapter

// apiAdapter.js
function getUsers() {
  return { url: "/users.json", method: "GET" };
}

const apiAdapter = createAdapter(client, {}, {
  getUsers,  
})
Enter fullscreen mode Exit fullscreen mode

By defining a request in one place, you can now simply call the adapter method you want.

import apiAdapter from './apiAdapter'

apiAdapter.getUsers().then(...)
Enter fullscreen mode Exit fullscreen mode

It is also a useful option to specify basic settings for all requests, as well as handling errors and successful requests.

const apiAdapter = createAdapter(
  client,
  { withCredentials: true },
  {
    getUsers,  
  },
  successHandler,
  errorHandler, 
)
Enter fullscreen mode Exit fullscreen mode

Github
Live example

Top comments (0)