Strumenti Utente

Strumenti Sito


sviluppo:rest_server

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
sviluppo:rest_server [2016/06/24 14:25] m.biagiolisviluppo:rest_server [2018/03/19 10:45] (versione attuale) – modifica esterna 127.0.0.1
Linea 4: Linea 4:
  
 ======Definizione routes====== ======Definizione routes======
-Le routes vanno censite su un apposito file di configurazione'/config/routes.ini'.+Le routes vanno censite su appositi file di configurazione con estensione '.ini' all'interno della cartella 'routes'.
 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 62: Linea 62:
  
 ======REST Model====== ======REST Model======
-Per le classiche operazioni CRUD su un model attraverso l'utilizzo di servizi REST (ad esempio, se si vuole utilizzare itaEngine come back-end completo di una app implementata con un'altra tecnologia - come AngularJS o Ionic), occorre definire delle classi model specifiche che estendono '**wsModelRest**'.+Per le classiche operazioni CRUD su un model attraverso l'utilizzo di servizi REST (ad esempio, se si vuole utilizzare itaEngine come back-end completo di una app implementata con un'altra tecnologia - come AngularJS o Ionic).
 Le operazioni messe a disposizione sono le seguenti: Le operazioni messe a disposizione sono le seguenti:
-  * load +  * load [GET] 
-  * count +  * count [GET] 
-  * insert +  * insert [POST] 
-  * update +  * update [POST] 
-  * delete +  * delete [POST] 
-  * custom+  * custom [POST]
  
-Le operazioni CRUD sono associate al model, se presente la classe specifica viene presa quella, altrimenti si va in fallback su wsModelRest.+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: Esempio:
 Modello: cwbBtaGrunaz.php Modello: cwbBtaGrunaz.php
 Classe ModelRest specifica: rest/cwbBtaGrunazModelRest.php Classe ModelRest specifica: rest/cwbBtaGrunazModelRest.php
 +(Fallback su rest/cwbBaseModelRest)
  
-=======load=======+=====load===== 
 +Effettua la ricerca di un record per chiave. 
 +Riceve in ingresso i valori delle PK.
  
 Chiamata: Chiamata:
Linea 108: Linea 111:
 </code> </code>
  
 +=====count=====
 +Effettua il conteggio dei record, dati in ingresso i parametri per la query specifica.
  
 +Chiamata:
  
 +<code>
 +{
 + "PARAMS": {
 + "DESGRNAZ":"europ"
 + }
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "COUNT": "2"
 +  }
 +}
 +</code>
 +
 +
 +=====query=====
 +Effettua la lettura dei record, dati in ingresso i parametri per la query specifica.
 +
 +Chiamata:
 +
 +<code>
 +{
 + "PARAMS": {
 + "DESGRNAZ":"europ"
 + },
 + "FROM": 0,
 + "TO": 2
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "RESULTS": [
 +      {
 +        "CODGRNAZ": "01",
 +        "DESGRNAZ": "UNIONE EUROPEA                          ",
 +        "CEENAZ": "C",
 +        "CONTINENTE": "1 ",
 +        "CODUTE": "italsoft            ",
 +        "DATAOPER": "2015-12-15",
 +        "TIMEOPER": "17:38:18"
 +      },
 +      {
 +        "CODGRNAZ": "02",
 +        "DESGRNAZ": "ALTRI PAESI EUROPEI                     ",
 +        "CEENAZ": "E",
 +        "CONTINENTE": "1 ",
 +        "CODUTE": "italsoft            ",
 +        "DATAOPER": "2016-01-22",
 +        "TIMEOPER": "10:25:21"
 +      }
 +    ]
 +  }
 +}
 +</code>
 +
 +
 +=====insert=====
 +
 +Chiamata:
 +
 +<code>
 +{
 + "DATA": {
 + "CURRENTRECORD":{
 + "CODGRNAZ": "90",
 + "DESGRNAZ": "Inserimento da WS",
 + "CEENAZ":"C",
 + "CONTINENTE":"1"
 + }
 + }
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "RESULTS": {
 +      "CODGRNAZ": "90",
 +      "DESGRNAZ": "Inserimento da WS                       ",
 +      "CEENAZ": "C",
 +      "CONTINENTE": "1 ",
 +      "CODUTE": "italsoft            ",
 +      "DATAOPER": "2016-06-24",
 +      "TIMEOPER": "15:07:10"
 +    }
 +  }
 +}
 +</code>
 +
 +
 +=====update=====
 +
 +Chiamata:
 +
 +<code>
 +{
 + "DATA": {
 + "CURRENTRECORD":{
 + "CODGRNAZ": "90",
 + "DESGRNAZ": "Inserimento da WS Modificato",
 + "CEENAZ":"E",
 + "CONTINENTE":"1"
 + }
 + }
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "RESULTS": {
 +      "CODGRNAZ": "90",
 +      "DESGRNAZ": "Inserimento da WS Modificato            ",
 +      "CEENAZ": "E",
 +      "CONTINENTE": "1 ",
 +      "CODUTE": "italsoft            ",
 +      "DATAOPER": "2016-06-24",
 +      "TIMEOPER": "15:18:11"
 +    }
 +  }
 +}
 +</code>
 +
 +=====delete=====
 +
 +Chiamata:
 +
 +<code>
 +{
 + "DATA": {
 + "CURRENTRECORD":{
 + "CODGRNAZ": "90",
 + "DESGRNAZ": "Inserimento da WS",
 + "CEENAZ":"C",
 + "CONTINENTE":"1"
 + }
 + }
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "RESULTS": {
 +      "CODGRNAZ": "90",
 +      "DESGRNAZ": "Inserimento da WS",
 +      "CEENAZ": "C",
 +      "CONTINENTE": "1"
 +    }
 +  }
 +}
 +</code>
 +
 +=====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:
 +
 +<code>
 +{
 + "METHOD":"testCustom",
 + "PARAMS":{
 + "PAR1": "X",
 + "PAR2": 1
 + }
 +}
 +</code>
 +
 +Risposta:
 +
 +<code>
 +{
 +  "ESITO": 1,
 +  "MESSAGGIO": "Esito positivo",
 +  "DATI": {
 +    "RESULTS": {
 +      "Risposta metodo custom": {
 +        "Parametro 1": "X",
 +        "Parametro 2": 1
 +      }
 +    }
 +  }
 +}
 +</code>
sviluppo/rest_server.1466778337.txt.gz · Ultima modifica: 2018/03/19 10:45 (modifica esterna)