Index操作API
- 目的・用途
新規インデックスを作成する際に使用するAPIである
- 利用方法
Scopeに「index:create」をもつアクセストークンを使用してAPIを呼び出す
Method | HTTP request | Description |
---|---|---|
create_index | POST /api/indextree/create |
パラメータは以下の内容のjsonとする
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
parent_id | 数値 | 親インデックスのID |
index_info | json | 必須。以下の項目のうち少なくとも1つが必要 |
index_info.index_name | 文字列 | 日本語のインデックス名 |
index_info.index_name_english | 文字列 | 英語のインデックス名 |
index_info.comment | 文字列 | コメント |
index_info.public_state | 真偽値 | 公開設定 |
index_info.harvest_public_state | 真偽値 | ハーベスト公開設定 |
curlによるリクエスト例
curl https://ホスト/api/indextree/create -H "Authorization:Bearer アクセストークン" -H "Content-Type: application/json" -d '{"parent_id":"0","index_info":{"index_name":"APIテスト","index_name_english":"API test","comment":"コメント","public_state":false,"public_state":false}}' |
- 利用可能なロール
ロール | システム 管理者 |
リポジトリ 管理者 |
コミュニティ 管理者 |
登録ユーザー | 一般ユーザー | ゲスト (未ログイン) |
---|---|---|---|---|---|---|
利用可否 | ○ | ○ | ○ | ○ | ○ |
- 機能内容
以下を指定してインデックスを新規作成する
- 親インデックス
指定されなかった場合はRoot Index直下に作成される
日本語のインデックス名
英語のインデックス名
各インデックス名は、指定されなかった場合は「New Index」が設定される
コメント
公開設定
指定されなかった場合は「False」が設定される
- ハーベスト公開設定
指定されなかった場合は「True」が設定される
- 関連モジュール
- weko_index_tree
- 処理概要
Scope:
- weko- index-tree /weko_ index_tree /scopes.py
API:
- modules/weko-index-tree/weko_index_tree/views.py
create_index関数でindexテーブルに新規インデックスを作成する
- 以下の情報を用いてインデックスを新規作成する
id:作成時のUNIX時間を1000倍したものを用いる
parent_id:パラメータで指定されなかった場合には0を設定する
index_name:「New Index」固定
作成したインデックスを、index_infoの内容を用いてupdateする
作成が成功すると、以下の内容のレスポンスが返却される
Indexes.updateメソッドの返却値をjson形式にエンコードしたものをレスポンスボディに入れようとする
しかし、updateメソッドの返却値はNoneなので、実際に入るのはエラーメッセージ「'NoneType' object is not iterable」である
パラメータとして空のjsonを渡した場合は、400エラーとなりエラーメッセージ「No data to create.」が返却される
index_infoが空だった場合は、400エラーとなりエラーメッセージ「index_info can not be null.」が返却される
- 更新履歴
日付 | GitHubコミットID | 更新内容 |
---|---|---|
|
353ba1deb094af5056a58bb40f07596b8e95a562 | 初版作成 |