rb-data-provider-json-server
v0.33.0
Published
A Restboard data provider for JSON REST server
Maintainers
Readme
rb-data-provider-json-server
A Restboard data provider for JSON REST server
Getting started
import createProvider from "rb-data-provider-json-server";
const provider = createProvider("https://jsonplaceholder.typicode.com");
provider
.getMany("posts")
.then((posts) => console.log(posts))
.catch((err) => console.error(err));Additional options can be configured during the data provider construction:
const provider = createProvider("https://jsonplaceholder.typicode.com", {
timeout: 3000,
retries: 5,
backoff: 300,
});REST Dialect
| Method | API call |
| ------------ | ---------------------------------------- |
| getMany | GET http://my.api.url/:resource |
| getOne | GET http://my.api.url/:resource/:id |
| createOne | POST http://my.api.url/:resource |
| updateOne | PATCH http://my.api.url/:resource/:id |
| updateMany | PATCH http://my.api.url/:resource |
| deleteOne | DELETE http://my.api.url/:resource/:id |
| deleteMany | DELETE http://my.api.url/:resource |
Options
| Name | Description | Default |
| --------------------- | ----------------------------------------------------- | ----------- |
| timeout | The timeout (ms) for each single HTTP request attempt | 5000 |
| retries | The number of attempts before failing | 3 |
| backoff | The incremental delay (ms) between request attempts | 500 |
| client | A fetch-like HTTP client used to perform the requests | fetch |
| tokenGetter | An async function to get the bearer token to be used | undefined |
| contentTypeParser | A function used to parse the content type of the request payload (if any) | (data) => 'application/json; charset=UTF-8' |
| responseDataParser | A sync function to extract the payload from the response payload | (payload) => payload?.data \|\| payload |
| responseMetaParser | A sync function to extract the meta details from the response payload (e.g. pagination data) | (payload) => payload?.meta \|\| {} |
| responseErrorParser | A (a)sync function to extract the details from an error response | (res) => res?.statusText \|\| res?.status |
| querystringRenderer | A function to render the request querystring | Provided renderQuerystring function |
| idempotentUpdate | If true, the PUT method will be used on update requests | false |
| cache | An optional cache object to store request responses. Should implement the following API: has(reqId), get(reqId), set(reqId,res) | undefined |
Test
npm testContribute
If you want, you can also freely donate to fund the project development:
Have you found a bug?
Please open a new issue on:
https://github.com/restboard/rb-data-provider-json-server/issues
Acknowledgements
This project is inspired by:
License
Copyright (c) Emanuele Bertoldi

