xinyiman:
Buongiorno a tutti, come esercizio di stile ho creato un piccolo progetto d'esempio, con lo scopo di dimostrare come si costruisce un microservizio web che restituisce dati in json.
Praticamente affronta due tematiche
1. realizzare un login basato su jwt (il codice l'ho preso da un altro progetto di Anderson J. Gado da Silva and Hélio S. Ribeiro)
2. leggere il contenuto di un file excel e renderlo disponibile in json (previa autorizzazione tramite jwt)
Il progetto lo potete trovare qui: https://github.com/XinYiMan/xls2json
Una volta che avete compilato il progetto lanciatelo (il file config.ini deve risiedere nella stessa cartella dell'eseguibile).
Gli utenti autorizzati e relative password li trovate nel config.ini
Una volta lanciato l'eseguibile aprite un browser e lanciate i seguenti due comandi
Vi restituirà un json, se positivo il valore di code sarà 0 e la description sarà vuota, altrimenti avranno altri valori e vorrà dire che il login non sarà valido.
Recuperate la stringa che compone il valore di jwt che per semplicità da qui in avanti chiameremo JWT_RESULT
vi restituirà un errore in quanto il file azione1.xls non esiste-
azione1 è il nome del file xls che deve essere trasformato in JWT.
Quindi create un file excel con nome azione1.xls riempitelo di valori nelle colonne (come se fosse una tabella) e la prima riga deve contenere il nome della colonna della tabella.
Ora salvate questo file nella sottocartella /cartella_dell_eseguibile/files/test1dir/azione1.xls
dovreste vedere il contenuto del file xls sottoforma di json.
Attenzione: se nel file config.ini
Users=2
non potete creare la terza accoppiata di credenziali nella sezione [Users]
Gli utenti iniziano da indice 0 e vanno a indice Users-1
ID rappresenta ovviamente l'identificativo dell'utente USERNAME , PASSWORD e ACTIVE servono per l'autentificazione DIR indica la sottodirectory di files dove trovare i file accessibili dall'utente (se vuota pesca direttamente da files)
Sperando che questo esempio possa essere d'aiuto a qualcuno.
DragoRosso:
Come nota tecnica, vorrei aggiungere che è necessario installare "FPSPREADSHEET" dal Online Package Manager e altre dipendenze che vengono risolte dando l'OK alle domande poste dall'OPM.
Ciao
xinyiman:
Giustissimo DragoRosso, grazie della precisazione.
nomorelogic:
grazie xinyiman progetto molto interessante