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 |
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
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:
npm install @applica-software-guru/crud-client
Successivamente puoi configurare il client REST in questo modo:
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 });
Se lavori su un'applicazione mobile devi necessariamente creare il data provider in questo modo:
const dataProvider = createDataProvider({ apiUrl, ..., **mobile**: true })
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));
dataProvider
.getOne('entities/user', { id: 1 })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
dataProvider
.get('users', { id: 1 })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));
import { stringify } from 'query-string';
dataProvider
.post(`users?${stringify({ k: 'f' })}`, { id: 1, name: 'Roberto' })
.then((response) => {
console.log(response);
})
.catch((error) => alert(error));