API à distance via HTTP
Vous pouvez vouloir créer des opérateurs à partir de votre propre site et mettre à jour la base de données NxCloud automatiquement. Vous pouvez construire votre propre API pour
pour traiter vos opérateurs à distance en utilisant les classes DAO et Data de NxCloud.
Pour plus d'informations sur les classes DAO et Data, lisez Classes DAO et Data
Exemple d'API
Nous avons un exemple d'API dans /nxfilter/webapps/example/remoteapi.jsp. Vous pouvez appeler cette page JSP à distance via le protocole HTTP.
Dans la page JSP, les actions suivantes sont définies,
- createOperator
Cette action permet de créer un opérateur. Elle prend 2 paramètres.
L'un est 'opName' pour le nom de l'opérateur. L'autre est 'opType' pour le type d'opérateur que vous voulez créer,
set 1 pour un opérateur de type business et set 2 pour un opérateur de type home. En cas de succès, il renvoie '/OK' et en cas d'erreur, il renvoie '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=createOperator&opName=testname&opType=1
- selectOperator
Cette action permet de récupérer les informations relatives à un opérateur. Elle prend le paramètre 'opName' pour un nom d'opérateur.
En cas de succès, elle renvoie un tableau JSON contenant les informations de l'opérateur.
En cas d'erreur, elle renvoie '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=selectOperator&opName=testname
- setExpDate
Permet de fixer la date d'expiration d'un opérateur. Elle prend 2 paramètres.
L'un est 'opName' pour le nom de l'opérateur. L'autre est 'expDate' qui est une chaîne de format 'yyyyMMdd' pour la date d'expiration que vous voulez définir pour le filtrage.
d'expiration que vous souhaitez définir pour le service de filtrage. En cas de succès, il renvoie '/OK' et en cas d'erreur, il renvoie '/ERR'.
ex) http://localhost/example/remoteapi.jsp?action=setExpDate&opName=testname&expDate=20191231
Par défaut, la page JSP d'exemple n'accepte que les appels provenant de 127.0.0.1 ou de localhost. Vous devez modifier la partie restriction de la page JSP pour accepter les accepter les requêtes provenant d'autres hôtes.
// Only localhost access allowed.
if(!request.getRemoteAddr().startsWith("127.0.0.1")){
out.println(request.getRemoteAddr());
return;
}
Pour réaliser ces fonctions API distantes, nous n'avons utilisé que les classes DAO et Data de NxFilter. Il est donc possible de créer des fonctions encore plus complexes.
Vous pouvez avoir une ACL basée sur l'IP pour vos pages JSP en System > Allowed IP > Allowed IP To GUI.