Introduzione

Il modulo serve per esporre dei web services utilizzando la modalità REST. E' presente nella cartella 'wsrest' all'interno di '/lib'.

Definizione routes

Le routes vanno censite su un apposito file di configurazione: '/config/routes.ini'. 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 '/controller') esclusa l'estensione ('.php')

ACTION: è il nome del metodo (public) del controller da invocare

OUTPUT: indica il formato dell'output (xml/json)

CHECKAUTH: indica se la chiamata deve essere autenticata (se 1 = controlla autenticazione, altrimenti 0)

Esempio

[dummyActionGET]
VERB = GET
CONTROLLER = dummyController
ACTION = dummyActionGET
OUTPUT = json
CHECKAUTH = 1

Controller

Il controller ha il compito di gestire la chiamata. Per ogni controller possono essere presenti più 'actions'. Ogni 'action' corrisponde ad un metodo 'public', che riceve in ingresso un array di parametri. Ogni controller estende la classe padre 'RestController'.

Esempio di una action

public function dummyActionGET($params) {
$toReturn = array(
'chiave1' => 'valore1',
'chiave2' => 'valore2',
'params' => array()
);
if ($params != null) {
$toReturn['params'] = $params;
}
return $toReturn;
}