API remota tramite HTTP
È possibile creare operatori dal proprio sito e aggiornare automaticamente il DB di NxCloud. È possibile costruire il proprio set di API per
per gestire gli operatori da remoto utilizzando le classi DAO e Data di NxCloud.
Per maggiori informazioni sulle classi DAO e Data, leggete Classi DAO e Data
Esempio di set di API
Abbiamo un esempio di API in /nxfilter/webapps/example/remoteapi.jsp. È possibile chiamare questa pagina JSP da remoto tramite il protocollo HTTP.
Nella pagina JSP sono definite queste azioni,
- createOperator
Con questa azione è possibile creare un operatore. Richiede 2 parametri.
Uno è 'opName' per il nome dell'operatore. L'altro è 'opType' per il tipo di operatore che si vuole creare,
impostare 1 per un operatore di tipo business e impostare 2 per un operatore di tipo home. In caso di successo, viene restituito '/OK', mentre in caso di errore viene restituito '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=createOperator&opName=testname&opType=1
- selectOperator
Con questa azione è possibile recuperare le informazioni di un operatore. Richiede il parametro 'opName' per il nome dell'operatore.
In caso di successo, restituisce un array JSON contenente le informazioni dell'operatore.
In caso di errore, restituisce '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=selectOperator&opName=testname
- setExpDate
Serve a impostare una data di scadenza per un operatore. Richiede 2 parametri.
Uno è 'opName' per il nome dell'operatore. L'altro è 'expDate', una stringa in formato 'yyyyMMdd' per la data di scadenza che si vuole impostare per il filtraggio.
data di scadenza che si desidera impostare per il servizio di filtraggio. In caso di successo, restituisce '/OK', mentre in caso di errore restituisce '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=setExpDate&opName=testname&expDate=20191231
Per impostazione predefinita, la pagina JSP di esempio accetta solo le chiamate da 127.0.0.1 o localhost. È necessario modificare la parte di restrizione della pagina JPS per accettare le richieste da altri host.
// Only localhost access allowed.
if(!request.getRemoteAddr().startsWith("127.0.0.1")){
out.println(request.getRemoteAddr());
return;
}
Per realizzare queste funzioni API remote, abbiamo utilizzato solo le classi NxFilter DAO e Data. È quindi possibile costruirne di più complicate.
È possibile disporre di un ACL basato su IP per le pagine JSP mediante System > Allowed IP > Allowed IP To GUI.