Forum > Lazarus e il web

Microservizio json

(1/3) > >>

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

http://localhost:8080/login?username=test1&password=qwerty

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

e lanciate il comando

http://localhost:8080/index?action=azione1&jwt=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

Adesso se rilanciate il comando

http://localhost:8080/index?action=azione1&jwt=JWT_RESULT

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

Stilgar:
 ::)
https://github.com/paxtibi/jsonserver


Allora aspetto una recensione anche per questo progettino  ;D

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa