HTTP経由のリモートAPI
自サイトからオペレータを作成し、NxCloud DB を自動的に更新したい。このような場合
を構築することができます。
DAO と Data クラスの詳細については、以下を参照してください。 DAOとデータクラス
APIセットの例
/nxfilter/webapps/example/remoteapi.jsp に API セットの例があります。この JSP ページは HTTP プロトコルでリモートから呼び出すことができます。
JSP ページには、以下のアクションが定義されています、
- createOperator
このアクションでオペレータを作成できます。2つのパラメータを取る。
ひとつはオペレータ名の'opName'。もう1つは、作成したい演算子のタイプを表す'opType'です、
ビジネスタイプのオペレータには1を、ホームタイプのオペレータには2を指定します。成功すると'/OK'を返し、エラーになると'/ERR'を返す。
ex) http://localhost/example/remoteapi.jsp?action=createOperator&opName=testname&opType=1
- selectOperator
オペレータの情報を取得します。opName' パラメータにオペレータ名を指定します。
成功すると、オペレータの情報を含むJSON配列を返します。
エラーの場合は '/ERR' を返します。
ex) http://localhost/example/remoteapi.jsp?action=selectOperator&opName=testname
- setExpDate
オペレータの有効期限を設定します。2つのパラメータを取る。
一つは、オペレータ名の'opName'である。もう1つは'expDate'で、フィルタリングに設定したい有効期限を'yyyyMMdd'形式の文字列で指定する。
フィルタリング・サービスに設定したい有効期限を表す'yyyyMMdd'形式の文字列である。成功すれば '/OK' を返し、エラーなら '/ERR' を返す。
ex) http://localhost/example/remoteapi.jsp?action=setExpDate&opName=testname&expDate=20191231
デフォルトでは、サンプルJSPページは127.0.0.1またはlocalhostからの呼び出ししか受け付けません。他のホストからのリクエストを受け付けるには、JPSページの制限部分を修正する必要があります。 を修正する必要があります。
// Only localhost access allowed.
if(!request.getRemoteAddr().startsWith("127.0.0.1")){
out.println(request.getRemoteAddr());
return;
}
これらのリモート API 関数を作成するために、NxFilter DAO と Data クラスのみを使用しています。ですから、もっと複雑なものを作ることも可能です。
JSPページにIPベースのACLを設定するには System > Allowed IP > Allowed IP To GUI.