UNPKG

@applica-software-guru/crud-client

Version:

Libreria per l'accesso ai servizi REST di Applica.

98 lines (75 loc) 2.71 kB
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)); ```