Domino Data Serviceを使うための設定はこちらを参照。
JSON形式で送信する場合、リクエストのヘッダにContent-typeを"application/json"で指定する必要がある。
作成・更新・削除のリクエストURLと送信タイプはそれぞれ以下の通り。
- 文書の作成
URL: http(s)://[サーバ名]:[ポート]/[DBパス]/api/data/documents
Method: POST
- 文書の更新
URL: http(s)://[サーバ名]:[ポート]/[DBパス]/api/data/documents/unid/[UNID]
Method: PUT - 文書の削除
URL: http(s)://[サーバ名]:[ポート]/[DBパス]/api/data/documents/unid/[UNID]
Method: DELETE
注意1)Xpagesなどで使う場合はDOCTYPEをデフォルトから変更していないと使えないかもしれません(DOCTYPEの変更方法はこちら)。
注意2)クロスドメイン対応してません。
◆引数の説明
- server
- サーバのURL
ex.)server = "http://domino01.mydomain.co.jp" - dbpath
- DBのパス(リダイレクトルールを作っている場合はURLパターン)
ex.)dbpath = "WebApps/test.nsf" - form
- 新規作成するフォーム名
- json
- json形式のテキストデータ
- unid
- 更新・削除対象となる文書のユニバーサルID
◆関数
//JSON形式のデータから文書を作成
function createDocFromJSON(server, dbpath, form, json){
var request = new XMLHttpRequest();
var url =
server
+ '/' + dbpath
+ '/api/data/documents?coumputeform=true&form=' + form;
request.open('POST', url);
request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
request.setRequestHeader('Access-Control-Allow-Methods', 'POST, PUT, GET, DELETE, OPTIONS');
request.send(json);
}
//JSON形式のデータで文書を更新
function updateDocFromJSON(server, dbpath, unid, json){
var request = new XMLHttpRequest();
var url =
server
+ '/' + dbpath
+ '/api/data/documents/unid/' + unid + '?coumputeform=true';
request.open('PUT', url);
request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
request.setRequestHeader('Access-Control-Allow-Methods', 'POST, PUT, GET, DELETE, OPTIONS');
request.send(json);
}
//UNIDを指定して文書を削除
function deleteDocByUNID(server, dbpath, unid){
var request = new XMLHttpRequest();
var url =
server
+ '/' + dbpath
+ '/api/data/documents/unid/' + unid;
request.open('DELETE', url);
request.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
request.setRequestHeader('Access-Control-Allow-Methods', 'POST, PUT, GET, DELETE, OPTIONS');
request.send();
}