@applica-software-guru/crud-client
Version:
Libreria per l'accesso ai servizi REST di Applica.
98 lines (75 loc) • 2.71 kB
Markdown
Libreria per l'accesso ai servizi REST di Applica.
| Info | Dettagli |
| --------------- | ------------------------------------------------------- |
| Ultima versione | 1.0.\* |
| Autore | Roberto Conte Rosito |
| Repository | https://bitbucket.org/applicaguru/crud-client |
| Pipeline | https://bitbucket.org/applicaguru/crud-client/pipelines |
# Prefazione
La libreria `@applica-software-guru/crud-client` è un client REST che consente l'accesso ai servizi REST di Applica.
La sua implementazione si basa sui principi e le linee guida definite all'interno del progetto [React-Admin](https://marmelab.com/react-admin/Admin.html#dataprovider)
# Utilizzo
La libreria può essere utilizzata in associazione a React-Admin come `dataProvider` (scopo per cui è nata) oppure direttamente come strumento per eseguire chiamate REST in modo agevole e veloce.
Per installare la libreria:
```bash
npm install @applica-software-guru/crud-client
```
Successivamente puoi configurare il client REST in questo modo:
```javascript
import { createDataProvider } from '@applica-software-guru/crud-client';
import { createAuthProvider } from '@applica-software-guru/iam-client';
const apiUrl = 'https://api.applica.guru/api';
const authProvider = createAuthProvider({ apiUrl });
const getToken = () => authProvider.getToken();
const getHeaders = () => authProvider.getHeaders();
const dataProvider = createDataProvider({ apiUrl, getToken, getHeaders });
```
## Mobile
Se lavori su un'applicazione mobile devi necessariamente creare il data provider in questo modo:
```javascript
const dataProvider = createDataProvider({ apiUrl, ..., **mobile**: true })
```
## Get List
```javascript
dataProvider
.getList('entities/user', {
pagination: { page: 1, perPage: 10 },
filter: {
name__like: 'Giovanni',
id__gt: 10,
active__is: true
}
})
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
```
## Get One
```javascript
dataProvider
.getOne('entities/user', { id: 1 })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
```
## Get
```javascript
dataProvider
.get('users', { id: 1 })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
```
## Post
```javascript
import { stringify } from 'query-string';
dataProvider
.post(`users?${stringify({ k: 'f' })}`, { id: 1, name: 'Roberto' })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
```