sviluppo:rest_server
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
sviluppo:rest_server [2016/02/29 08:53] – m.biagioli | sviluppo:rest_server [2024/10/15 09:45] (versione attuale) – modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
- | ==Introduzione== | + | ======Introduzione====== |
Il modulo serve per esporre dei web services utilizzando la modalità REST. | Il modulo serve per esporre dei web services utilizzando la modalità REST. | ||
E' presente nella cartella ' | E' presente nella cartella ' | ||
- | ==Definizione routes== | + | ======Definizione routes====== |
- | Le routes vanno censite su un apposito | + | Le routes vanno censite su appositi |
Per ogni route devono essere specificate le seguenti informazioni: | Per ogni route devono essere specificate le seguenti informazioni: | ||
* **VERB**: indica il 'verb http' (GET o POST) | * **VERB**: indica il 'verb http' (GET o POST) | ||
Linea 11: | Linea 11: | ||
* **OUTPUT**: indica il formato dell' | * **OUTPUT**: indica il formato dell' | ||
* **CHECKAUTH**: | * **CHECKAUTH**: | ||
- | Esempio: | ||
+ | =====Esempio===== | ||
+ | |||
+ | < | ||
[dummyActionGET] | [dummyActionGET] | ||
VERB = GET | VERB = GET | ||
Linea 19: | Linea 21: | ||
OUTPUT = json | OUTPUT = json | ||
CHECKAUTH = 1 | CHECKAUTH = 1 | ||
+ | </ | ||
+ | |||
+ | ======Controller====== | ||
+ | Il controller ha il compito di gestire la chiamata. | ||
+ | Per ogni controller possono essere presenti più ' | ||
+ | Ogni ' | ||
+ | Ogni controller estende la classe padre ' | ||
+ | Ogni ' | ||
+ | |||
+ | =====Esempio di una action===== | ||
+ | |||
+ | < | ||
+ | public function dummyActionGET($params) { | ||
+ | $toReturn = array( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | if ($params != null) { | ||
+ | $toReturn[' | ||
+ | } | ||
+ | return $toReturn; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ======Autenticazione====== | ||
+ | Nel file ' | ||
+ | * **GetItaEngineContextToken**: | ||
+ | * **CheckItaEngineContextToken**: | ||
+ | * **DestroyItaEngineContextToken**: | ||
+ | |||
+ | =====Esempio di chiamata per ottenere un token di autenticazione===== | ||
+ | http:// | ||
+ | |||
+ | =====Chiamate autenticate===== | ||
+ | Per le chiamate autenticate deve essere passato nell' | ||
+ | |||
+ | ======Multipart Request====== | ||
+ | Per le richieste multipart, l' | ||
+ | |||
+ | ======REST Model====== | ||
+ | Per le classiche operazioni CRUD su un model attraverso l' | ||
+ | Le operazioni messe a disposizione sono le seguenti: | ||
+ | * load [GET] | ||
+ | * count [GET] | ||
+ | * insert [POST] | ||
+ | * update [POST] | ||
+ | * delete [POST] | ||
+ | * custom [POST] | ||
+ | |||
+ | Le operazioni CRUD sono associate al model, se presente la classe specifica viene presa quella, altrimenti si va in fallback sulla classe generica, che deriva da wsModelRest. | ||
+ | Esempio: | ||
+ | Modello: cwbBtaGrunaz.php | ||
+ | Classe ModelRest specifica: rest/ | ||
+ | (Fallback su rest/ | ||
+ | |||
+ | =====load===== | ||
+ | Effettua la ricerca di un record per chiave. | ||
+ | Riceve in ingresso i valori delle PK. | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | =====count===== | ||
+ | Effettua il conteggio dei record, dati in ingresso i parametri per la query specifica. | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====query===== | ||
+ | Effettua la lettura dei record, dati in ingresso i parametri per la query specifica. | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====insert===== | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | =====update===== | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | =====delete===== | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | =====custom===== | ||
+ | Attraverso il metodo custom è possibile chiamare qualsiasi metodo della classe modelRest specifica. | ||
+ | Il servizio riceva in ingresso il nome del metodo e i parametri. | ||
+ | |||
+ | Chiamata: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Risposta: | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
sviluppo/rest_server.1456736028.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)