Hexabaseは企業向けにBaaS(Backend as a service)を提供しています。データベースやファイルストア、認証などを提供することで、フロントエンドエンジニアだけでも企業向けシステムを開発可能にします。
HexabaseではAPIをREST API、そしてGraphQLで提供しています。今回はこのAPIの中で登場するuse_display_idについて解説します。
ディスプレイIDとは
Hexabaseでは幾つかの機能について、IDを利用しています。
機能 | ID名 |
---|---|
プロジェクト | プロジェクトID |
データストア | データストアID |
どちらも管理画面にて確認できます(執筆時点で管理画面変更中につき、アプリケーションID/データベースIDとなっています)。このIDは開発者の方が、自由に付けられる名称になります。英数字と幾つかの記号(スペース/_/-など)が利用できます。また、日本語名や英語名も自由に付けられます。
検索時などでの指定
そして、このIDを検索条件に使う場合にはAPIを呼ぶ際にuse_display_idパラメーターをtrueにしてください。例えばデータストアのアイテム詳細を取得する際には次のようにします。
query(
$datastoreId: String!,
$datastoreItemDetailParams: DatastoreItemDetailParams,
$itemId: String!,
$projectId: String
) {
getDatastoreItemDetails(
datastoreItemDetailParams: $datastoreItemDetailParams,
datastoreId: $datastoreId,
itemId: $itemId,
projectId: $projectId
) {
title
rev_no
field_values
status_list
item_actions
status_actions
status_order
status_action_order
item_action_order
}
}
パラメーターは以下のような形です。
{
"datastoreId": "Task",
"datastoreItemDetailParams": {
"format": "map",
"use_display_id": true // <- ここ
},
"itemId": "635108665a0adcf0808fa221",
"projectId": "Task Manager"
}
この use_display_id
を付けることで、 Task Manager
や Task
といった名称が使えるようになります。 false
だと Request failed with status code 500
が発生するので注意してください。
まとめ
数字で指定すると、後でどのプロジェクトだったのか、正しいテーブルを指定できているのか分かりづらくなります。 use_display_id
を true
にしていても数字で指定した検索は可能なので、特に制約がない場合には use_display_id
を true
にしておくのをお勧めします。