rb-data-provider-json-server v0.33.0
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 test
Contribute
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
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago