sviluppo:rest_server
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| sviluppo:rest_server [2016/02/29 08:53] – creata 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) | + | |
| - | * CONTROLLER: è il nome della classe controller (presente in '/ | + | |
| - | * ACTION: è il nome del metodo (public) del controller da invocare | + | |
| - | * OUTPUT: indica il formato dell' | + | |
| - | * CHECKAUTH: indica se la chiamata deve essere autenticata (se 1 = controlla autenticazione, | + | |
| - | 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.1456736007.txt.gz · Ultima modifica: (modifica esterna)
