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 更新内容

2023/08/31

353ba1deb094af5056a58bb40f07596b8e95a562 初版作成

results matching ""

    No results matching ""