組み込みRESTfulサービス

最終公開日 : Sep 16, 2026
Related information

はじめに

使用されるアーキテクチャはROA(Resource-Oriented Architecture)と呼ばれ、SOA(Service-Oriented Architecture)の代替となり得ます。選択されたリソースは、リクエストの内容に応じて、サードパーティシステムによって読み取りおよび/または書き込み可能です。
組み込みRESTfulサービスのHATEOASアプローチは、直感的で分かりやすいナビゲーションも可能にし、データ詳細がリンクを通じて取得できることを意味します。
注記:
すべての操作はステートレスです。

リクエスト

この章では、HTTPメソッド、URL形式、ヘッダーフィールド、メッセージボディなど、準拠したRESTリクエストを構築するために使用する要素について説明します。
参照:

HTTPメソッド

組み込みRESTfulサービスで考慮されるHTTPメソッドは次のとおりです。
  • GET: URLで定義されたマスターデータを選択するために使用されます(URLのサイズ制限はアプリケーションサーバーとブラウザに依存し、2kB以下である必要があります)
  • POST: テーブルにレコードを挿入するため、またはURLで定義されたマスターデータを選択するために使用されます(サイズ制限はアプリケーションサーバーによって2MB以上です。各パラメーターは1024文字を含む値に制限されます)
  • PUT: URLで定義されたマスターデータを更新するために使用されます
  • DELETE: URLで定義されたレコード、またはテーブルURLとメッセージボディ内のレコードキーによって定義された複数のレコードを削除するために使用されます

URL

REST URLには以下が含まれます。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/{categoryVersion}/{specificPath}[:{extendedAction}]?{queryParameters}
ここで、
  • <ebx-dataservices> は「ebx-dataservices.war」Webアプリケーションのパスに対応します。パスは、Webアプリケーション名に続く複数の、またはURIセグメントで構成されます
  • {category}操作カテゴリに対応します
  • {categoryVersion} はカテゴリバージョンに対応します。現在の値は v1です
  • {specificPath} はカテゴリ内の特定のパスに対応します
  • {extendedAction} は拡張アクション名に対応します(オプション)
  • {queryParameters} はURLで渡される共通または専用の操作パラメーターに対応します

操作カテゴリ

操作を専門化します。{category}のURLパスに追加され、次のいずれかの値を取ります。
admin
管理者専用の管理操作。
管理操作の詳細については、こちらを参照してください。
auth
トークン認証メソッドを管理します。
トークン認証操作およびトークン認証スキームの詳細については、こちらを参照してください。
data または data-compact
データセットコンテンツをリスト表示します。データセットノード、テーブル、レコード、レコードフィールドに対する変更操作を含む、テーブル、レコード、またはフィールドレコードコンテンツをリクエストします。単純なユースケースでのインタラクションを容易にするために、コンパクト形式が利用可能です。
データスペースとスナップショットのライフサイクルを管理します。
データ操作データスペース操作、およびコンパクト形式の制限事項の詳細については、こちらを参照してください。
data-bo または data-compact-bo
テーブル、レコード、またはフィールドレコードコンテンツをリクエストし、定義されたビジネスオブジェクトを介したナビゲーションを可能にします。単純なユースケースでのインタラクションを容易にするために、コンパクト形式が利用可能です。
ビジネスオブジェクトリレーションシップで定義された他のテーブルの下にある関連レコードとともにレコードを削除します。
データ操作の詳細については、こちらを参照してください。
form-data または form-data-compact
データセットノード、レコード、またはレコードフィールドを挿入または更新する前に、受信データを検証し、レポートを生成します。簡単なユースケースでのインタラクションを簡素化するために、コンパクト形式も利用可能です。
フォームデータ操作およびコンパクト形式の制限事項の詳細については、こちらを参照してください。
health
サーバーヘルス情報は、監視ツールまたはコンテナプローブの情報を提供します。
ヘルス操作の詳細については、こちらを参照してください。
history
履歴データセットのコンテンツをリスト表示します。履歴テーブル、レコードの履歴、または履歴レコードをリクエストします。
データ操作の詳細については、こちらを参照してください。
参照:
api
選択されたリソースのOpenAPIドキュメントを生成します。
OpenAPI操作の詳細については、こちらを参照してください。
datamodel
データモデルアシスタントで定義されたデータモデルの公開を管理します。
データモデル操作の詳細については、こちらを参照してください。

ヘッダーフィールド

これらのヘッダーフィールド定義はTIBCO EBX®によって使用されます。
Accept
レスポンスで使用するコンテンツタイプを(優先順位順に)指定するために使用されます。最初にサポートされるものが選択され、レスポンスヘッダーContent-Typeで指定されます。現在、唯一サポートされているのはapplication/jsonです。サポートされているものが何もない場合、結果はプロパティebx.dataservices.rest.request.checkAcceptに依存します。
  • trueの場合、HTTPエラーレスポンスがコード406とともに返されます
  • falseの場合、レスポンスはデフォルトのコンテンツタイプ、つまりapplication/jsonとともに返されます
Accept-Language
レスポンスの優先ロケールを指定するために使用されます。サポートされているロケールはスキーマモデルで定義されています。
優先ロケールのいずれもサポートされていない場合、現在のモデルのデフォルトロケールが使用されます。
Authorization
サポートされている認証スキームには、「基本認証スキーム」と「トークン認証スキーム」が含まれます。別のスキームが使用された場合、リクエストは拒否されます。
参照:
Content-Type
リクエストボディのメディアタイプを指定するために使用されます。サポートされているタイプはapplication/jsonapplication/x-www-form-urlencodedです。リクエスト値がサポートされていない場合、HTTPエラーメッセージがコード415(Unsupported media type)とともに返されます。
X-Requested-With
存在し、認証失敗の場合、レスポンスにWWW-Authenticateヘッダーが追加されるのを防ぎます。
HTTPヘッダーフィールド定義の詳細については、RFC2616を参照してください。

共通パラメーター

これらのオプションパラメーターは、すべてのデータサービス操作で利用可能です。
パラメーター
説明
disableRedirectionToLastBroadcast
このパラメーターは、D3アーキテクチャでのみ影響があります。
trueの場合、D3プライマリノード上の配信データスペースへのアクセスは、最後のブロードキャストスナップショットにリダイレクトされません。それ以外の場合、そのようなデータスペースへのアクセスは常に最後のブロードキャストスナップショットにリダイレクトされます。
指定されたデータスペースがD3プライマリノード上の配信データスペースでない場合、このパラメーターは無視されます。
Boolean型の値。このパラメーターが存在しない場合、構成プロパティebx.dataservices.disableRedirectionToLastBroadcast.defaultが設定されていない限り、デフォルトはfalse(D3マスターへのリダイレクトが有効)です。
ebx-indent
indent (6.0.0以降非推奨)
レスポンスをインデントするかどうかを指定します。これにより、人間にとって読みやすくなります。
Boolean型、デフォルト値はfalseです。
ebx-channel
セッションチャネルを指定します。
String型、可能な値は次のとおりです。
  • dataServices
  • ui
デフォルト値はdataServicesです。

メッセージボディ

JSON形式のリクエストデータが含まれています。拡張JSONリクエストボディおよびコンパクトJSONリクエストボディを参照してください。
注記:
リクエストは、POSTまたは PUT HTTPメソッドを使用する場合にのみメッセージボディを定義できます。

レスポンス

この章では、組み込みRESTfulサービスによって返されるレスポンスについて説明します。
  • 標準エラー処理(HTTPコードが 300以上の場合)の詳細については、例外処理を参照してください

ヘッダーフィールド

これらのヘッダーフィールド定義はEBX®によって使用されます。
Content-Language
レスポンスでラベルと説明に使用されるロケールを示します。
Content-Type
レスポンスボディのコンテンツタイプを示します。
Location
新しいレコードが正常に挿入された場合、このフィールドによってそのレコードのクエリURLが返されます。
WWW-Authenticate
このヘッダーフィールドは、認証が401 (Unauthorized) HTTPコードで失敗した場合にHTTPレスポンスに追加されます。その値は、リクエストURIに適用可能な少なくとも1つの認証メソッドを含むリストで構成されます。これは、次の条件が満たされている場合にのみ存在します。
  • 「基本認証スキーム」メソッドが有効であること、および
  • X-Requested-With HTTPヘッダーが存在しないこと
クライアントが認証メソッドを解釈できる場合、適切な資格情報を提供してリクエストを再送信することが可能です。
管理プロパティebx.dataservices.rest.auth.tryBasicAuthenticationtrueに設定する必要があります。

HTTPコード

HTTPコード
説明
200 (OK)
リクエストは正常に処理されました。
201 (Created)
新しいレコードが作成されました。この場合、ヘッダーフィールドLocationにはそのリソースURLが返されます。
204 (No content)
リクエストは正常に処理されましたが、レスポンスボディは返されません。
206 (Partial Content)
リクエストは正常に処理されましたが、一貫性のある部分的なレスポンスボディが返されます。
400 (Bad request)
リクエストURLまたはボディの形式が正しくないか、無効なコンテンツが含まれています。
401 (Unauthorized)
認証に失敗しました。
403 (Forbidden)
認証されたユーザーに対して、指定されたリソースの読み取りまたは変更の権限が拒否されました。
このエラーは、ユーザーが次のいずれかの場合にも返されます。
  • リクエストメッセージボディで言及されているフィールドを変更する権限がない
  • RESTコネクターにアクセスする権限がない
    詳細については、グローバル権限を参照してください。
404 (Not found)
URLで指定されたリソースが見つかりません。
406 (Not acceptable)
リクエストのAcceptパラメーターで定義されたコンテンツタイプはサポートされていません。このエラーは、EBX®プロパティebx.rest.request.checkAccepttrueに設定されている場合にのみ返されます。
409 (Conflict)
同時変更が発生しました。
415 (Unsupported media type)
リクエストコンテンツはサポートされていません。リクエストヘッダー値Content-Typeは操作でサポートされていません。
422 (Unprocessable entity)
新しいリソースのコンテンツは、セマンティックな理由により受け入れられません。
500 (Internal error)
アプリケーションによって予期しないエラーがスローされました。エラーの詳細は通常、EBX®ログで確認できます。

メッセージボディ

レスポンスボディのコンテンツ形式は、HTTPコードの値によって異なります。
  • 200以上 300未満のHTTPコード: コンテンツ形式は関連するリクエストに依存します(拡張JSONおよびコンパクトJSONの例)。
    コード 204 *(No content)*は例外です。
  • 300以上のHTTPコード: コンテンツはエラーを記述します。形式の詳細については、JSONを参照してください。

管理操作

管理操作は以下に関連します。
  • 管理カテゴリ
  • dataカテゴリを通じてアクセス可能な管理データスペース
注記:
管理カテゴリと管理データスペースは管理者のみが使用できます。

ディレクトリ操作

EBX®のデフォルトディレクトリ構成は、組み込みRESTfulサービスで管理可能です。ユーザーとロールのテーブル、メーリングリスト、その他のオブジェクトが対象となります。詳細については、ユーザーとロールのディレクトリを参照してください。
注記:
ディレクトリのテーブルにはトリガーが存在し、データの一貫性を保証します。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-directory/ebx-directory

ディレクトリ構成操作

EBX®のデフォルトディレクトリ構成は、データセットノードと同様に管理可能です。dataカテゴリ操作を通じてアクセスおよび変更できます。メタモデルがリクエストされると、各フィールドは自己記述されます。
詳細については、選択および更新操作を参照してください。

メーリングリスト操作

EBX®ディレクトリには、全員用と管理者用の2つのデフォルトメーリングリストを設定できます。これらのリストは、dataカテゴリ操作を通じてデータセットノードと同様に処理できます。
詳細については、選択および更新操作を参照してください。

ディレクトリユーザー操作

ユーザーは、dataカテゴリのレコードと同様に、その操作を使用して操作できます。セキュリティ上の理由から、管理者は自分自身を削除できません。ユーザーの敬称は、「salutations」テーブルで利用可能なものの中から選択する必要があります。
詳細については、選択更新挿入、および削除操作を参照してください。

ディレクトリロール操作

ロールは dataカテゴリのレコードであり、その操作で管理できます。EBX®ロールは、「usersRoles」関連テーブルを通じてユーザーに割り当てられます。「usersRoles」は、ユーザーインターフェースを通じてディレクトリが管理されるときに自動的に入力されます。ただし、データサービスを通じてはそうではなく、ロールの割り当てには手動操作が必要です。ロールの包含は、「rolesInclusions」関連テーブルで指定されます。「usersRoles」テーブルと同様に、ロールの包含の管理には手動操作が必要です。メタモデルがリクエストされると、各テーブルは自己記述されます。
詳細については、選択更新挿入、および削除操作を参照してください。

ユーザーインターフェース操作

EBX®ユーザーインターフェースは、メンテナンスの必要に応じてユーザーに対して開閉できます。処理される情報は、UIタブ「管理」>「ユーザーインターフェース構成」>「詳細パースペクティブ」>「グラフィカルインターフェース構成」>「アプリケーションロック」に含まれるものと同様です。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-manager/ebx-manager/domain/toolStatus
参照:

ユーザーインターフェースの状態の取得

ユーザーインターフェースの状態と利用不可メッセージは、データセットノードと同様にアクセス可能です。
詳細については、選択操作および拡張JSONまたはコンパクトJSONの例を参照してください。

ユーザーインターフェースの開閉

ユーザーインターフェースの状態と利用不可メッセージは、更新操作を使用してデータセットノードと同様に変更できます。ユーザーインターフェースを開くには toolStatusの内容を trueに設定し、閉じるには falseに設定します。
詳細については、更新操作および拡張JSONまたはコンパクトJSONの例を参照してください。

システム情報操作

この操作は、EBX®サーバーのシステム情報を返します。これは GETおよび POST HTTPメソッドで受け入れられます。警告: リクエストボディが無視されるため、POST HTTPメソッドでは更新はできません。返される情報は、ログヘッダー kernel.logまたはUIタブ「管理」>「システム情報」に含まれる情報と同じです。レスポンスには、EBX®の構成と状態を表すいくつかのキー、ラベル、値が含まれます。レスポンスの表現モードは、フラットまたは階層的である場合があります。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/admin/v1/systemInformation
参照:

パラメーター

以下のパラメーターが適用されます。
パラメーター
説明
systemInformationMode
返されるモードを指定します。
  • flat: 次の情報グループ (bootInfoEBXrepositoryInfobootInfoVM) の下のフラットな表現
  • hierarchical: 階層表現
String型、デフォルト値はflatです。

HTTPコード

HTTPコード
説明
200 (OK)
システム情報が正常に返されました。
400 (Bad request)
リクエストが正しくありません。次のいずれかのエラーが含まれています。
  • HTTPメソッドがGETでもPOSTでもない
  • HTTPパラメータsystemInformationModeが正しくない
  • 操作がサポートされていない
  • リクエストパスが無効である
403 (Forbidden)
ユーザーは管理者ではありません。

レスポンスボディ

HTTPコードが 200 (OK)の場合にのみ返されます。コンテンツ構造は、指定されたパラメータ systemInformationModeまたはそのデフォルト値によって異なります。
フラット表現のJSON例を参照してください。
階層表現のJSON例を参照してください。

トークン認証操作

これらの操作により、認証トークンを作成または取り消すことができます。認証トークンにはタイムアウト期間があります。この期間内にEBX®サーバーへのアクセスに使用されなかった場合、トークンは自動的に取り消されます。このタイムアウト期間は、EBX®サーバーへのアクセスごとに更新されます。
注記:
トークンのタイムアウトは、管理プロパティebx.dataservices.rest.auth.token.timeout(デフォルト値は30分)を介して変更できます。
注記:
トークンは、メインディレクトリで定義されたユーザーに対してのみ生成できます。ディレクトリの詳細については、ユーザーとロールのディレクトリを参照してください。

トークン作成操作

この操作では、ユーザーの資格情報と、オプションでセッションパラメータを含むリクエストで POST HTTPメソッドを使用する必要があります。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/token:create

メッセージボディ

HTTPリクエストでメッセージボディを定義する必要があります。これは、次のいずれかのデータセットを必ず含みます。
  • login passwordの値。両方のJSON属性は必須であり、String型です。
    詳細については、Directory.authenticateUserFromLoginPasswordを参照してください。
  • specific JSON属性が trueに設定されていること。このフラグがアクティブ化されると、HTTPリクエスト全体に対してユーザー認証を実行できます。警告: JSONリクエストのボディに loginおよび password属性が定義されていても、specific trueに設定すると、特定のユーザー認証が行われます。
    詳細については、Directory.authenticateUserFromHttpRequestを参照してください。
トークン作成リクエストのJSON例を参照してください。

HTTPコード

HTTPコード
説明
200 (OK)
トークンが正常に作成されました。
400 (Bad request)
次のいずれかの理由によるものです。
  • 構文が正しくない
  • HTTPメソッドがPOSTではない
  • 操作がサポートされていない
401 (Unauthorized)
次のいずれかの理由によるものです。
  • loginまたはpasswordが正しくない
  • 他のメソッドの認証データが定義されている
422 (Unprocessable entity)
次のいずれかの理由によるものです。
  • PasswordMustChange: パスワードを変更する必要があります(デフォルトディレクトリでのみ利用可能)。パスワード変更操作を参照してください。
  • RestrictedAccess: メンテナンスまたはその他のアクションのためにユーザーアクセスが閉じられています(管理者専用)。

レスポンスボディ

HTTPコードが 200 (OK)の場合、ボディにはトークン値とそのタイプが含まれます。
トークン作成レスポンスのJSON例を参照してください。
トークンは、後でHTTPヘッダー Authorizationを適切に設定することで、ユーザーを認証するために使用できます。
関連項目:

パスワード変更操作

この操作は、既存のユーザーアカウントのパスワードを変更します。認証されたコンテキストで使用できます。loginパラメータが存在する場合、現在のセッションと照合され、存在しない場合はセッションから取得されます。また、非認証コンテキストでも使用できます。たとえば、トークン作成操作がHTTPコード 422 *(処理できないエンティティ)*で理由 PasswordMustChangeにより中止された場合などです。
次の使用が必要です。
  • EBX®デフォルトディレクトリ
  • POST HTTPメソッド
  • 以下に指定された構造を含むメッセージボディ
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/user:changePassword

メッセージボディ

リクエストでメッセージボディを定義する必要があります。これは、password passwordNewを必ず含み、loginはオプションです(すべて String型)。
パスワード変更およびトークン作成リクエストのJSON例を参照してください。

HTTPコード

HTTPコード
説明
204 (No content)
パスワードが変更されました。
400 (Bad request)
次のいずれかの理由によるものです。
  • EBX®デフォルトディレクトリが必要である
  • 構文が正しくない
  • HTTPメソッドがPOSTではない
  • 提供されたloginとユーザーのセッションのloginが一致しない
  • 操作がサポートされていない
401 (Unauthorized)
次の理由によるものです。
  • loginまたはpasswordが正しくない
422 (Unprocessable entity)
次のいずれかの理由によるものです。
  • PasswordChangeAbort: passwordNewが空である
  • PasswordChangeAbort: passwordNewpasswordと同じである
  • PasswordChangeAbort: passwordが正しくない
  • RestrictedAccess: メンテナンスまたはその他のアクションのためにユーザーアクセスが閉じられています(管理者専用)

レスポンスボディ

HTTPコード 204 (No content)が返された場合、パスワードが変更されました。

トークン取り消し操作

この操作では、POST HTTPメソッドを使用する必要があります。メッセージボディは不要です。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/auth/v1/token:revoke

ヘッダーフィールド

Authorization
このフィールドは必須であり、tokenTypeフィールドとaccessTokenフィールドには「トークン作成」操作から返された値が必要です。
> Authorization: <tokenType> <accessToken>

HTTPコード

HTTPコード
説明
204 (No content)
トークンが正常に取り消されました。
400 (Bad request)
次のいずれかの理由によるものです。
  • 設定がアクティブ化されていない
  • 構文が正しくない
  • HTTPメソッドがPOSTではない
  • 操作がサポートされていない
401 (Unauthorized)
認証に失敗しました。

データ操作

dataカテゴリ操作は、データセット、データセットフィールド、テーブル、レコード、またはレコードフィールドに関するものです。
data-compactカテゴリ操作は、データセットフィールド、テーブル、レコード、またはレコードフィールドに関するものです。
data-boカテゴリ操作は、ビジネスオブジェクトをナビゲートする機能を備えた dataカテゴリ操作に関するものです。
data-compact-boカテゴリ操作は、ビジネスオブジェクトをナビゲートする機能を備えた data-compactカテゴリ操作に関するものです。
historyカテゴリ操作は、データセット、テーブル、レコード、またはレコードフィールドからの履歴コンテンツに関するものです。
form-dataカテゴリ操作は、コンテンツの作成または更新時に制約が有効である必要がある場合のデータセットフィールド、レコード、またはレコードフィールドに関するものです。
form-data-compactカテゴリ操作は、コンテンツの作成または更新時に制約が有効である必要がある場合のデータセットフィールド、レコード、またはレコードフィールドに関するものです。
詳細については、フォームデータ操作を参照してください。

選択操作

選択操作は階層コンテンツを返します。この操作では、次のいずれかのメソッドを使用できます。
  • GET HTTPメソッド
  • メッセージボディなしの POST HTTPメソッド
  • メッセージボディ、:select URL拡張アクション、およびオプションでセッションパラメータを含む POST HTTPメソッド
    URL形式は次のとおりです。
  • データセットツリー操作カテゴリによる)
    dataまたは data-compactカテゴリは、グループノードとテーブルノードを含む、選択されたデータセットの階層を返します。
    historyカテゴリは、履歴テーブルノードのみの剪定されたグループを含む、選択された履歴データセットの階層を返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}
    注記:
    ターミナルノードとサブノードは含まれません。
  • データセットノード: dataまたは data-compactカテゴリは、選択されたノードに含まれるターミナルノードを返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:select]
    注記:
    historyカテゴリには適用されません。
  • テーブル操作カテゴリによる)
    dataまたは data-compactカテゴリは、テーブルコンテンツおよび/またはメタモデル、現在のページレコード、およびページネーション用のURLを返します。
    historyカテゴリは、履歴テーブルコンテンツおよび/またはメタモデル、現在のページレコード、およびページネーション用のURLを返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:select]
    関連項目:
  • レコード操作カテゴリによる)
    dataまたは data-compactカテゴリは、レコードコンテンツおよび/またはメタモデルを返します。
    historyカテゴリは、履歴レコードコンテンツおよび/またはメタモデルを返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}[:select]
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:select]?primaryKey={xpathExpression}
    注記:
    プライマリキー(primaryKeyパラメータ)によるレコードアクセスは、そのルートノードに限定されます。この制限を上書きするには、detailsフィールドで利用可能なエンコードされたプライマリキーを使用することをお勧めします。同様に、履歴レコードの場合、historyDetailsフィールドで利用可能なエンコードされたプライマリキーを使用してください。
  • フィールド操作カテゴリによる)
    dataまたは data-compactカテゴリは、そのタイプに応じて構造が異なるフィールドレコードコンテンツを返します。
    historyカテゴリは、そのタイプに応じて構造が異なるフィールド履歴レコードコンテンツを返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}[:select]
    注記:
    フィールドは、関連ノード、選択ノード、ターミナルノード、またはそれ以上である必要があります。
    ここで、
  • {category}操作カテゴリに対応します(可能な値は datadata-compactdata-bodata-bo-compact、または historyです)。
  • {dataspace}は、データスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します。
  • {dataset}はデータセット識別子に対応します。
  • {pathInDataset}は、グループノードまたはテーブルノードであるデータセットノードのパスに対応します。
  • {encodedPrimaryKey}は、プライマリキーのパーセントエンコード表現に対応します(RFC-3986 Uniform Resource Identifierを参照)。
  • {xpathExpression}は、XPath式を使用したレコードプライマリキーに対応します。
  • {pathInRecord}は、テーブルノードから始まるパスに対応します。
  • :select拡張アクションは、ボディメッセージとともに POST HTTPメソッドが使用される場合に必要です。
ビジネスオブジェクトカテゴリdata-boおよび data-compact-bo)は、他のテーブルからのデータを追加することで、TableRecord、および Fieldリクエストのレスポンスを強化します。

パラメータ

次のパラメータは選択操作に適用されます。
パラメータ
説明
includeContent
選択に対応するコンテンツを含むcontentフィールドを含めます。
Boolean型、デフォルト値はtrueです。
includeDetails
メタモデルおよびコンテンツにdetailsフィールドを含め、間接的に到達可能な各リソースについて含めます。返される値は、そのURLリソースに対応します。
Boolean型、デフォルト値はtrueです。
関連項目:
includeHistory
履歴コンテンツの次のフィールドを含めます。
  • メタモデルのhistoryプロパティ。返される値はブール値に対応します。
  • コンテンツおよび間接的に到達可能な各リソースのhistoryDetailsプロパティ。この点はincludeDetailsパラメータと関連しています。返される値は、そのURLリソースに対応します。
Boolean型、デフォルト値はfalseです。
注記:
includeHistoryパラメータはhistoryカテゴリでは無視され、デフォルト値はtrueです。
includeLabel
各単純型contentに関連付けられたlabelフィールドを含めます。
可能な値は次のとおりです。
  • yes: 外部キー、列挙、レコード、およびセレクタ値にlabelが含まれます。
  • all: yes値の場合と同様に、単純型のコンテンツにもlabelフィールドが含まれます。
  • no: labelフィールドは含まれません(統合ユースケース)。
String型、デフォルト値はyesです。
注記:
labelフィールドがcontentフィールドと同じ場合、labelフィールドは含まれません。
includeMeta
6.1.0以降非推奨includeMetamodelに置き換えられました。
includeMetadata
レスポンスには指定されたメタデータが含まれます。返される各レコードには、ebx-metadataルート要素の下にステップと呼ばれる追加要素が含まれます。
たとえば、「system」ステップ値には技術データが含まれます。詳細については、楽観的ロックを参照してください。
文字列値(デフォルト値は空)のステップはコンマで区切る必要があります: system, teamUp。すべてのステップはebx-all値を使用して返すことができます。
関連項目:
includeMetamodel
contentフィールドで返される構造の説明に対応するmetaフィールドを含めます。
Boolean型、デフォルト値はfalseです。
includeMergeInfo
履歴トランザクションの技術データのフィールドに対応し、アクセスコストが高い可能性があるmerge_infoを含めます。
Boolean型、デフォルト値はtrueです。
注記:
このパラメータはdataカテゴリでは無視されます。
includeOpenApiDetails
各記述可能ノードのOpenAPI仕様URLを含めます。
Boolean型、デフォルト値はfalseです。
注記:
このクエリパラメータは、includeDetailsfalseに設定されている場合、無視されます。
includeSelector
レスポンスにselectorフィールドを含め、間接的に到達可能な各リソースについて含めます。返される値は、そのURLリソースに対応します。
Boolean型、デフォルト値はtrueです。
関連項目:
includeSortCriteria
適用されたソート条件のリストに対応するsortCriteriaフィールドを含めます。
ソート条件パラメータは、次を使用して追加されます。
Boolean型、デフォルト値はfalseです。
例: JSON
includeTechnicals
6.1.0以降非推奨includeMetadataに置き換えられました。
注記:
このパラメータはhistoryカテゴリでは無視されます。
includeValidation
選択に対応する検証レポートを含めます。
Boolean型、デフォルト値はfalseです。
注記:
このパラメータはhistoryカテゴリでは無視されます。
関連項目:

テーブルパラメータ

次のパラメータは、テーブル、関連、および選択ノードに適用されます。
パラメータ
説明
filter
クイック検索述語または完全なXPath述語式は、リクエストが適用されるフィールド値を定義します。空の場合、すべてのレコードが取得されます。
String型の値。
注記:
履歴コード操作値は、このフィールドに関連付けられたmetaセクションのebx-operationCodeパスフィールドで使用できます。
Seealso:
<title> TIBCO EBX® ドキュメンテーション - 組み込みRESTfulサービス</title> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><meta content="Copyright 2001-2026. Cloud Software Group, Inc. All rights reserved." name="copyright"/><meta content="dataservices_rest_v1" name="doc_id"/><link href="../resources/stylesheets/ebx_common.css" rel="stylesheet" type="text/css"/><link href="../resources/stylesheets/ebx_docPage.css" rel="stylesheet" type="text/css"/><link href="../resources/syntaxHighlighter/styles/shCoreEclipse.css" rel="stylesheet" type="text/css"/><link href="../resources/icons/brand.ico" rel="icon" type="image/x-icon"/>
参照:
historyMode
テーブルに適用されるフィルターコンテキストを指定します。
文字列型、指定可能な値は次のとおりです。
  • CurrentDataSpaceOnly: 現在のデータスペースの履歴
  • CurrentDataSpaceAndAncestors: 現在のデータスペースと祖先の履歴
  • CurrentDataSpaceAndMergedChildren: 現在のデータスペースとマージされた子孫の履歴
  • AllDataSpaces: すべてのデータスペースの履歴
デフォルト値はCurrentDataSpaceOnlyです。
参照:
注記:
このパラメーターはdataカテゴリーでは無視されます。
includeOcculting
オカルティングモードのレコードを含めます。
ブール値型、デフォルト値はfalseです。
参照:
primaryKey
XPath式を使用して、主キーでレコードを検索します。XPath述語式には、主キーのフィールドのみがすべて含まれている必要があります。フィールドは演算子andで区切られます。フィールドは、その単純型に応じて次のいずれかの可能性で表されます。
  • datetime、またはdateTime型の場合: date-equal(path, value)を使用します。
  • その他の型の場合: path=演算子、およびvalueを指定します。
複合主キーの例: ./pk1i=1 and date-equal(./pk2d,'2015-11-13')
応答には対応するレコードのみが含まれ、それ以外の場合はエラーが返されます。結果として、他のテーブルパラメーター(フィルタービュー公開ソートなど)は無視されます。
文字列型の値。
pageFirstRecordFilter
5.9.0以降非推奨pageRecordFilterに置き換えられました。
pageRecordFilter
レコードを指す、ページネーション用のサーバーサイドで構築されたフィルターを指定します。このフィルターはpageAction値に強くリンクされており、クライアント側で変更してはなりません。フィルターは、ページネーションコンテキストを特定するために使用されるレコードのXPath述語式の形式を取ります。
文字列型。
pageAction
pageRecordFilterによって保持される識別子から実行するページネーションアクションを指定します。
文字列型、デフォルト値はfirstです。指定可能な値は次のとおりです。
  • first
  • previous
  • next
  • last
pageSize
1ページあたりの最大レコード数を指定します。
整数型、デフォルト値はユーザー設定に基づきます。指定された値が0の場合、推奨される最大ページサイズ(デフォルトは10000)で選択されます。
注記:
指定されたページサイズ値が最大ページサイズを超過する場合、最大ページサイズが選択されます。
sort
操作結果が指定された基準に従ってソートされることを指定します。基準は1つ以上の条件で構成され、結果は左から優先順位に従ってソートされます。条件はフィールドパスと、オプションでソート順序(昇順または降順、値またはラベルによる)で構成されます。このパラメーターは以下と組み合わせることができます。
  1. sortの後に新しい基準として追加されるsortOnLabelパラメーター
  2. sortの後に新しい基準として追加されるviewPublicationパラメーター
値の構造は次のとおりです。
<path1>:<order>;...;<pathN>:<order>
ここで、
  • <path1>は優先度1のフィールドパスに対応します。
  • <order>はソート順序に対応し、次のいずれかの値を取ります。
    • asc: 値による昇順(デフォルト)
    • desc: 値による降順
    • lasc: ラベルによる昇順
    • ldesc: ラベルによる降順
文字列型、デフォルト値は主キーフィールドに従ってソートされます(値による昇順)。
注記:
履歴コード操作値は、このフィールドに関連付けられたmetaセクションのebx-operationCodeパスフィールドで使用できます。
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
sortByRelevancy
操作結果が関連性によってソートされることを指定します。ただし、以下の条件が満たされている場合に限ります。
  • クイック検索が、osd:search述語をフィルターパラメーターに直接指定することで有効になっていること。
  • リクエストが履歴テーブルまたはマッピングされたテーブルに適用されていないこと。
    文字列型。指定可能な値は次のとおりです。
  • lasc: ラベルによる昇順
  • ldesc: ラベルによる降順
関連性によるソートが有効になっている場合、次のパラメーターは無視されます: ソートsortOnLabelsortPriority、およびviewPublicationを通じて定義されたソート基準。
参照:
sortOnLabel
操作結果がレコードラベルに従ってソートされることを指定します。このパラメーターは以下と組み合わせることができます。
  1. sortOnLabelの前に新しい基準として追加されるソートパラメーター。
  2. sortOnLabelの後に新しい基準として追加されるviewPublicationパラメーター。
値の構造は次のとおりです。
<order>
ここで、
  • <order>はソート順序に対応し、次のいずれかの値を取ります。
    • lasc: ラベルによる昇順
    • ldesc: ラベルによる降順
このパラメーターの動作は、defaultLabelセクションで説明されています。
文字列型の値。
参照:
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
sortPriority
ソートグループのデフォルトの優先度を上書きします。
  • sort
  • sortOnLabel
  • sortFromView
カンマ区切りの文字列型、デフォルト値はsort,sortOnLabel,sortFromViewです。
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
viewPublication
公開されたビューの名前を指定します。このパラメーターは以下と組み合わせることができます。
  1. 論理and操作としてのフィルターパラメーター。
  2. viewPublicationの前に新しい基準として追加されるソートパラメーター。
  3. viewPublicationの前に新しい基準として追加されるsortOnLabelパラメーター。
このパラメーターの動作は、WebコンポーネントとしてのEBX®セクションで説明されています。
文字列型の値。
注記:
このパラメーターを通じて定義されたソート基準は、関連性によるソートが有効になっている場合は無視されます。

セレクターパラメーター

以下のパラメーターは、列挙、外部キー、または osd:resourceを返すフィールドにのみ適用されます(例: JSON)。デフォルトでは、ページネーションメカニズムは常に有効です。一部のセレクターの選択操作には入力値が必要です。したがって、POST HTTPメソッドのメッセージボディを使用すると、レコードコンテンツを提供できます。
パラメーター
説明
selector
以下を指定します。
  • true: すべての可能な値(そのラベルを含む)を返します。
  • false: 現在のフィールドの現在の値を返します。
ブール値型、デフォルト値はfalseです。
注記:
このパラメーターはhistoryカテゴリーでは無視されます。
firstElementIndex
返される最初の要素のインデックスを指定します。0以上の整数である必要があります。
整数型、デフォルト値は0です。
pageSize
1ページあたりの最大要素数を指定します。
整数型、デフォルト値はユーザー設定に基づきます。指定された値が0の場合、推奨される最大ページサイズ(デフォルトは10000)で選択されます。
注記:
指定されたページサイズ値が最大ページサイズを超過する場合、最大ページサイズが選択されます。
selectorFilter
セレクターのフィルターを指定します。
文字列型の値、構文はクイック検索に準拠します。

HTTPコード

HTTPコード
説明
200 (OK)
選択されたリソースが正常に取得されました。
206 (Partial Content)
部分的なコンテンツが返されます。これは、ビジネスオブジェクトカテゴリーで応答のサイズが定義された制限を超過した場合に発生します。
詳細については、ebx.dataservices.rest.bo.maxResponseSizeInKBとパフォーマンスを参照してください。
注記:
部分的なコンテンツ内のシリアライズされたレコードは切り捨てられません。
400 (Bad request)
リクエストが不正です。これは次の場合に発生します。
  • レコードまたはデータセット内の選択されたフィールドがサブターミナルである。
  • filterパラメーターのXPath述語が不正な形式であるか、フィルターできないノードが含まれている。
  • primaryKeyパラメーターのXPath述語が不正な形式であるか、レコードの主キーではない。
  • sortパラメーターのソート基準の構文が無効であるか、ソートできないノードが含まれている。
  • pageActionパラメーター値が許可された値に含まれていない、または次または前のページを選択する際にpageRecordFilterが不正な形式であるか存在しない。
  • pageSizeパラメーター値が2未満である。
  • viewPublicationパラメーターのテーブルビューが階層型である、存在しない、または公開されていない。
  • selectorパラメーターが非列挙ノードに使用されている、またはfirstElementIndexが負の値であるか、値の数以上である。
403 (Forbidden)
選択されたリソースは認証されたユーザーに対して非表示です。
404 (Not found)
選択されたリソースが見つかりません。

応答ボディ

データセット、テーブル、レコード、またはフィールドの選択が成功した後、結果は応答ボディで返されます。コンテンツは、提供されたパラメーターと選択されたデータによって異なります。

準備操作

作成または複製操作の準備は、初期コンテンツを持つ新しい一時レコード、または複製するレコードのコンテンツを持つ新しい一時レコードを作成するために使用されます。一時レコードは、まだ永続化されていないコンテンツに対応します。テーブルトリガーによって初期化されたデフォルト値とフィールドが考慮されます。読み取り専用アクセス権限を持つフィールド値のみが返されます。これらの操作は、クライアント側でのデータキャプチャを改善および支援するために、オプションでメタモデルを返すことができます。自動インクリメントフィールドはメタモデルでのみ返されます。セレクターパラメーターを有効にすることで、一時レコードのフィールドを照会して、列挙フィールド、外部キーなどの可能な値を取得できます。さらに、セレクターの選択操作により、カスタムプログラム列挙のメタモデルの取得などのユースケースを管理するために、入力レコードデータを提供できます。
参照:
参照:
クライアント側で変更された後、レコードは組み込みのフォーム挿入操作または挿入操作を使用して永続化のために送信できます。
これらの準備操作では、次のいずれかのメソッドを使用できます。
  • GET HTTPメソッド
  • メッセージボディなしの POST HTTPメソッド
  • メッセージボディとオプションのセッションパラメーターを持つ POST HTTPメソッド。
    利用可能なURL形式は次のとおりです。
  • 作成の準備
    • レコード:
      http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{tablePath}:prepareForCreation
    • レコードフィールド:
      http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{tablePath}:prepareForCreation/{pathInRecord}
  • 複製の準備
    • レコード:
      http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{tablePath}/{encodedPrimaryKey}:prepareForDuplication
    • レコードフィールド:
      http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{tablePath}/{encodedPrimaryKey}:prepareForDuplication/{pathInRecord}
    ここで、
  • {category}操作カテゴリーに対応します(指定可能な値は dataまたは data-compactです)。
  • {dataspace} Bにデータスペース識別子が続くものに対応します。
  • {dataset}はデータセット識別子に対応します。
  • {tablePath}はテーブルパスノードに対応します。
  • {encodedPrimaryKey}は主キーのパーセントエンコードされた表現に対応します(RFC-3986 Uniform Resource Identifierを参照)。
  • {pathInRecord}はテーブルノードから始まるパスに対応します。

パラメーター

以下のパラメーターは準備操作に適用されます。
パラメーター
説明
includeDetails
メタモデルとコンテンツにdetailsフィールドを含めます。これは、間接的に到達可能な各リソースに対して行われます。返される値は、そのURLリソースに対応します。
ブール値型、デフォルト値はtrueです。
includeMeta
6.1.0以降非推奨includeMetamodelに置き換えられました。
includeMetamodel
contentフィールドで返される構造の説明を保持するmetaフィールドを含めます。
ブール値型、デフォルト値はfalseです。
参照:
includeSelector
コンテンツにselectorフィールドを含めます。これは、間接的に到達可能な各リソースに対して行われます。返される値は、そのURLリソースに対応します。
ブール値型、デフォルト値はtrueです。
参照:

セレクターパラメーター

利用可能なパラメーターは、セレクター操作のパラメーターと同様です。
参照:

HTTPコード

HTTPコード
説明
200 (OK)
選択されたリソースが正常に取得されました。
400 (Bad request)
リクエストが不正です。これは次の場合に発生します。
  • レコード内の選択されたフィールドがサブターミナルである。
  • pageSizeパラメーター値が2未満であるか、unboundedとは異なる文字列である。
  • selectorパラメーターが非列挙ノードに使用されている、またはfirstElementIndexが負の値であるか、値の数以上である。
401 (Unauthorized)
認証に失敗しました。
403 (Forbidden)
選択されたリソースは認証されたユーザーから非表示です。
404 (Not found)
選択されたリソースが見つかりませんでした。

レスポンスボディ

作成または複製リクエストの準備が成功した後、一時レコードがレスポンスボディで返されます。コンテンツは、提供されたパラメーターと選択されたデータによって異なります。ただし、選択操作レコードと同様の形式を取ります。

挿入操作

挿入操作では POST HTTPメソッドを使用します。データを指定するにはボディメッセージが必要です。この操作は、単一のトランザクションで1つ以上のレコードの挿入をサポートします。さらに、パラメーター化によってレコードを更新することも可能です。
  • レコード: 選択したテーブルに新しいレコードを挿入するか、既存のレコードを変更します
  • レコードテーブル: 選択したテーブルに1つ以上のレコードを挿入または変更し、一貫性のある応答を確保します。操作はクライアント側で定義された順序で順次実行されます。テーブル操作中にエラーが発生した場合、すべての更新はキャンセルされ、クライアントは詳細情報を含むエラーメッセージを受け取ります
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:mass]
説明:
  • {category}操作カテゴリに対応します (指定可能な値: data または data-compact)
  • {dataspace} はデータスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset} はデータセット識別子に対応します
  • {pathInDataset} はテーブルノードのパスに対応します
  • :mass 拡張アクションは、フィルタリングされたレコードセットを更新する場合に必要です (フィルターパラメーターを参照)

パラメーター

以下のパラメーターは挿入操作に適用可能です。
パラメーター
説明
includeDetails
データ詳細にアクセスするために、コンテンツにdetailsフィールドを含めます。返される値は、そのURLリソースに対応します。
型はBooleanで、デフォルト値はfalseです。
注記:
レコードテーブルにのみ適用されます
includeForeignKey
各レコードの応答にforeignKeyフィールドを含めます。返される値は、このレコードを参照していた外部キーフィールドの値に対応します。
型はBooleanで、デフォルト値はfalseです。
注記:
レコードテーブルにのみ適用されます
includeLabel
各レコードの応答にlabelフィールドを含めます。
指定可能な値:
  • yes: labelフィールドが含まれます
  • no: labelフィールドは含まれません (ユースケース: 統合)
型はStringで、デフォルト値はnoです。
注記:
レコードテーブルにのみ適用されます
updateOrInsert
挿入するレコードがすでに存在する場合の動作を指定します:
  • trueの場合: 既存のレコードは新しいデータで更新されます。
    レコードテーブルに対するリクエストの場合、これが挿入201か更新204かを指定するために、レポートにcodeフィールドが追加されます。
  • false (デフォルト値) の場合: クライアントエラーが返され、操作は中止されます
Boolean型の値。
byDelta
リクエストボディで定義されていないノードの値を設定する動作を指定します。これは更新モードセクションで説明されています。
型はBooleanで、デフォルト値はtrueです。
注記:
更新モードのレコード、およびupdateOrInsertパラメーターがtrueの場合に適用されます
filter
クイック検索述語、または多数のレコードが更新される場合の完全なXPath述語式を使用して、更新されるレコードを決定します。リクエストボディは、更新するフィールドを持つレコード構造である必要があります。このパラメーターは、:mass拡張アクションを使用する必要があります。そうしないと、エラーが返されます。
すべてのレコードを選択するには、ebx-all値を使用します。
viewPublicationクエリパラメーターを使用する場合、スコープはフィルタリングされたビューに限定されます。
String型の値で、空であってはなりません。空の場合、エラーが返されます。
注記:
includeDetailsincludeLabel、またはincludeForeignKeyクエリパラメーターを使用する場合、レポートには最初の1000件のレポートエントリのみが返されます
viewPublication
大量更新中に考慮される公開ビューの名前を指定します。
このパラメーターの動作は、WebコンポーネントとしてのEBX®セクションで説明されています。
String型の値。
blockingConstraintsDisabled
ブロッキング制約を無視するかどうかを指定します。無視する場合、作成された検証エラーに関係なく操作はコミットされます。そうでない場合、操作は中止されます。
型はBooleanで、デフォルト値はfalseです。
詳細については、ブロッキング制約と非ブロッキング制約を参照してください。

メッセージボディ

リクエストはメッセージボディを定義する必要があります。形式は挿入されるオブジェクトのタイプによって異なります:
  • レコード: レコードのヘッダーがないことを除いて、レコードの選択操作と同様です (例: 拡張JSONコンパクトJSON)
  • レコードテーブル: ページネーション情報がないことを除いて、テーブルの選択操作と同様です (例: 拡張JSONコンパクトJSON)
参照:

HTTPコード

HTTPコード
説明
200 (OK)
リクエストがレコードテーブルに関連する場合。
挿入リクエストは正常に適用され、オプションのレポートがレスポンスボディで返されます。
201 (Created)
リクエストがレコードに関連する場合。
新しいレコードが作成され、この場合、ヘッダーフィールドLocationがそのリソースURLとともに返されます。
204 (No content)
リクエストがレコードに関連する場合。
updateOrInserttrueの場合にのみ利用可能で、既存のレコードが正常に更新され、この場合、ヘッダーフィールドLocationがそのリソースURLとともに返されます。
400 (Bad request)
リクエストが不正です。これは、メッセージボディの構造がメッセージボディで言及されている内容に準拠していない場合に発生します。
403 (Forbidden)
認証されたユーザーはレコードを作成する権限がないか、リクエストボディに読み取り専用フィールドが含まれています。
404 (Not found)
選択されたリソースが見つかりません。
409 (Conflict)
同時変更。updateOrInserttrueの場合にのみ利用可能で、楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、更新前に再ロードする必要があります。
422 (Unprocessable entity)
リクエストを処理できません。これは次の場合に発生します:
  • ブロッキング検証エラーが発生した場合 (blockingConstraintsDisabledfalseの場合にのみ利用可能)
  • 同じ主キーを持つレコードがすでに存在するため、レコードを挿入できない場合 (updateOrInsertfalseの場合にのみ利用可能)
  • 主キーの定義が存在しないか不完全であるため、レコードを挿入できない場合
  • 主キーの値を変更できないため、レコードを更新できない場合

レスポンスボディ

レスポンスボディの形式は、挿入されたオブジェクトのタイプによって異なります:
  • レコード: 操作が正常に実行された場合、空です。ヘッダーフィールド LocationがそのURLリソースとともに返されます。
  • レコードテーブル: (オプション) 挿入操作レポートに対応する要素のテーブルが含まれます (例: JSON)。このレポートは、以下のオプションの少なくとも1つが設定されている場合、レスポンスボディに自動的に含まれます:
    • includeForeignKey
    • includeLabel
    • includeDetails
参照:

更新操作

この操作により、単一のデータセットまたはレコードの変更が可能です。PUT HTTPメソッドを使用する必要があります。利用可能なURL形式は次のとおりです:
  • データセットノード: 選択したノードに含まれる末端ノードの値を変更します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}
  • レコード: 選択したレコードのコンテンツを変更します。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}
    注記:
    POST HTTPメソッドでも利用可能です。この場合、URLはテーブルを指し、パラメーター updateOrInsert trueに設定する必要があります
    注記:
    複数のレコードのコンテンツを変更するには、updateOrInsert=trueおよび byDelta=trueパラメーターを指定して挿入操作を使用します
  • フィールド: 選択したレコードの単一フィールドを更新します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}
    注記:
    フィールドは末端ノードまたはそれ以上である必要があります
    説明:
  • {category}操作カテゴリに対応します (指定可能な値: data または data-compact)
  • {dataspace} はデータスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset} はデータセット識別子に対応します
  • {pathInDataset} はデータセットノードのパスに対応します:
    • データセットノード操作の場合、これはテーブルノードを除く任意の末端ノードまたはそれ以上である必要があります
    • レコードおよびフィールド操作の場合、これはテーブルノードに対応します
  • {encodedPrimaryKey} は主キーのパーセントエンコード表現に対応します (RFC-3986 Uniform Resource Identifierを参照)
  • {pathInRecord} はテーブルノードから始まるパスに対応します

パラメーター

更新操作に適用可能なパラメーターは次のとおりです。
パラメーター 説明
blockingConstraintsDisabled ブロッキング制約を無視するかどうかを指定します。無視する場合、作成された検証エラーに関係なく操作はコミットされます。そうでない場合、操作は中止されます。 型は Booleanで、デフォルト値は falseです。 詳細については、ブロッキング制約と非ブロッキング制約を参照してください。
byDelta リクエストボディで定義されていないノードの値を設定する動作を指定します。これは更新モードセクションで説明されています。 型は Booleanで、デフォルト値は trueです。
checkNotChangedSinceLastUpdateTime レコードが最後に読み取られてから変更されていないことを確認するために使用される、日時形式のタイムスタンプです。楽観的ロックセクションも参照してください。 DateTime型の値。

メッセージボディ

リクエストはメッセージボディを定義する必要があります。
構造は以下と同じです:
更新されたスコープに応じて、contentエントリのみを保持します。
参照:

HTTPコード

HTTPコード
説明
204 (No content)
レコード、フィールド、またはデータセットノードが正常に更新されました。
400 (Bad request)
リクエストが不正です。これは、ボディリクエストの構造が準拠していない場合に発生します。
403 (Forbidden)
認証されたユーザーは指定されたリソースを更新する権限がないか、リクエストボディに読み取り専用フィールドが含まれています。
404 (Not found)
選択されたリソースが見つかりません。
409 (Conflict)
同時変更。楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、更新前に再ロードする必要があります。
422 (Unprocessable entity)
リクエストを処理できません。これは次の場合に発生します:
  • ブロッキング検証エラーが発生した場合 (blockingConstraintsDisabledfalseの場合にのみ利用可能)
  • 主キーの値を変更できないため、レコードを更新できない場合

削除操作

この操作では DELETE HTTPメソッドを使用します。
2つのURL形式が利用可能です:
  • レコード: URLで指定されたレコードを削除します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}
  • レコードテーブル: 指定されたテーブル内の複数のレコードを削除し、一貫性のある応答を提供します。このモードでは、レコードテーブルを含むボディメッセージが必要です。削除は、テーブルで定義された順序に従って順次実行されます。テーブル操作中にエラーが発生した場合、すべての削除はキャンセルされ、詳細情報を含むエラーメッセージが表示されます。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{pathInDataset}[:mass]
    説明:
  • {dataspace} はデータスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset} はデータセット識別子に対応します
  • {pathInDataset} はテーブルノードのパスに対応します
  • {encodedPrimaryKey} は主キーのパーセントエンコード表現に対応します (RFC-3986 Uniform Resource Identifierを参照)
  • :mass 拡張アクションは、フィルタリングされたレコードセットを削除する場合に必要です (フィルターパラメーターを参照)
    子データセットのコンテキストでは、この操作はレコードの inheritanceModeプロパティ値を次のように変更します:
  • 継承モードが inheritまたは overwriteに設定されているレコードは occultになります
  • 継承モードが occultに設定されているレコードは、inheritIfInOccultingMode操作パラメーターが trueに設定されているか未定義の場合、inheritになります。そうでない場合、変更はありません
  • 継承モードが rootに設定されているレコードは単純に削除されます
参照:
ビジネスオブジェクトカテゴリ (data-boおよび data-compact-bo) は、ビジネスオブジェクトリレーションを介して、削除対象レコードに関連するすべてのレコードをカスケード削除します。

パラメーター

削除操作に適用可能なパラメーターは次のとおりです。
パラメーター 説明
includeOcculting オカルト化されたレコードを含めます。 型は Booleanで、デフォルト値は falseです。
inheritIfInOccultingMode バージョン5.8.1以降非推奨。後方互換性のために引き続き利用可能ですが、将来のバージョンで最終的に削除されます。 レコードがオカルトモードの場合に継承します。 型は Booleanで、デフォルト値は trueです。
checkNotChangedSinceLastUpdateTime レコードが最後に読み取られてから変更されていないことを確認するために使用される、日時形式のタイムスタンプです。楽観的ロックセクションも参照してください。 DateTime型の値。
blockingConstraintsDisabled ブロッキング制約を無視するかどうかを指定します。無視する場合、作成された検証エラーに関係なく操作はコミットされます。そうでない場合、操作は中止されます。 型は Booleanで、デフォルト値は falseです。 詳細については、ブロッキング制約と非ブロッキング制約を参照してください。
filter クイック検索述語、または大量削除が適用されるレコードを定義する完全なXPath述語式。このパラメーターは、:mass拡張アクションとともに使用する必要があります。そうしないと、エラーが返されます。 すべてのレコードを選択するには、ebx-all値を使用します。 viewPublicationクエリパラメーターを使用する場合、スコープはフィルタリングされたビューに限定されます。 String型の値で、空であってはなりません。空の場合、エラーが返されます。
viewPublication 大量削除中に考慮される公開ビューの名前を指定します。 このパラメーターの動作は、WebコンポーネントとしてのEBX®セクションで説明されています。 String型の値。

メッセージボディ

リクエストは、filterまたは deleteAllクエリパラメーターを使用せずに複数のレコードを削除する場合にのみ、メッセージボディを定義する必要があります:
  • レコードテーブル: メッセージには、レコードに関連する要素のテーブルが含まれ、各要素には次のいずれかのプロパティがあります:
    • details: レコードURLに対応し、選択操作によって返されます
    • primaryKey: XPath式を使用して、レコードの主キーに対応します
    • foreignKey: 外部キーがレコードを参照する場合に持つ値に対応します
    参照:

HTTPコード

HTTPコード
説明
200 (OK)
操作は正常に実行されました。レポートがレスポンスボディで返されます。
400(Bad request)
リクエストが不正です。これは次の場合に発生します:
  • メッセージボディの構造がメッセージボディに準拠していない場合
  • URLがレコードを指定しているにもかかわらず、メッセージボディにレコードテーブルが含まれている場合
403 (Forbidden)
認証されたユーザーは指定されたレコードを削除またはオカルト化する権限がありません。
404 (Not found)
選択されたレコードが見つかりません。子データセットのコンテキストでは、includeOccultingパラメーターを使用する必要がある場合があります。
409 (Conflict)
同時変更。楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、レコードを削除する前に再ロードする必要があります。
パラメーター値checkNotChangedSinceLastUpdateTimeは存在しますが、レコードの実際の最終更新日と一致しません。
422 (Unprocessable entity)
blockingConstraintsDisabledfalseの場合にのみ利用可能で、ブロッキング検証エラーのため操作が失敗します。

レスポンスボディ

レコードの削除またはオカルト化が成功した後、レポートがレスポンスボディで返されます。これには、削除、オカルト化、および継承されたレコードの数が含まれます。
例: JSON

カウント操作

カウント操作では、次のいずれかのメソッドを使用できます:
  • GET HTTPメソッド
  • メッセージボディなしの POST HTTPメソッド
  • メッセージボディありの POST HTTPメソッド (ただしルートに contentフィールドなし)
    URL形式は次のとおりです:
  • データセットノード: dataカテゴリは、選択したノードに含まれる末端ノードの数を返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}:count
    注記:
    historyカテゴリには適用されません
  • テーブル (操作カテゴリによる):
    dataカテゴリはテーブルレコードの数を返します。
    historyカテゴリはテーブル履歴レコードの数を返します。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}:count
  • フィールド (操作カテゴリによる):
    dataカテゴリはレコードフィールドをカウントします。
    historyカテゴリは履歴レコードフィールドをカウントします。
    http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}:count
    注記:
    フィールドは、関連ノード、選択ノード、末端ノード、またはそれ以上である必要があります
    説明:
  • {category}操作カテゴリに対応します (指定可能な値: data または data-compact)
  • {dataspace} はデータスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset} はデータセット識別子に対応します
  • {pathInDataset} はデータセットノードのパスに対応し、グループノードまたはテーブルノードのいずれかです
  • {encodedPrimaryKey} は主キーのパーセントエンコード表現に対応します (RFC-3986 Uniform Resource Identifierを参照)
  • {pathInRecord} はテーブルノードから始まるパスに対応します

パラメーター

以下のパラメーターはカウント操作に適用可能です。
パラメーター 説明
count バージョン6.0.0以降非推奨。URLからの拡張アクションに置き換えられました。これがカウント操作か選択操作かを指定するために使用されます。 型は Booleanで、デフォルト値は falseです。
TIBCO EBX® Documentation - Built-in RESTful services

テーブルパラメーター

以下のパラメーターは、テーブル、関連付け、および選択ノードに適用されます。
パラメーター
説明
filter
クイック検索述語または完全なXPath述語式は、リクエストが適用されるフィールド値を定義します。空の場合、すべてのレコードが考慮されます。
String型値。
注記:
履歴コード操作値は、このフィールドに関連付けられたmetaセクションのebx-operationCodeパスフィールドで使用できます。
historyMode
テーブルに適用されるフィルターコンテキストを指定します。
String型、可能な値は次のとおりです。
  • CurrentDataSpaceOnly: 現在のデータスペースの履歴
  • CurrentDataSpaceAndAncestors: 現在のデータスペースと祖先の履歴
  • CurrentDataSpaceAndMergedChildren: 現在のデータスペースとマージされた子孫の履歴
  • AllDataSpaces: すべてのデータスペースの履歴
デフォルト値はCurrentDataSpaceOnlyです。
参照:
注記:
このパラメーターはdataカテゴリでは無視されます。
includeOcculting
オカルトモードのレコードを含めます。
Boolean型、デフォルト値はfalseです。
viewPublication
カウント実行中に考慮される公開ビューの名前を指定します。このパラメーターは以下と組み合わせることができます。
このパラメーターの動作は、「EBX®をWebコンポーネントとして使用」セクションで説明されています。
String型値。

セレクターパラメーター

以下のパラメーターは、列挙、外部キー、または osd:resourceを返すフィールドにのみ適用されます。
パラメーター
説明
selector
以下を指定します。
  • true: 可能なすべての値の数を返します
  • false: 現在のフィールドの可能な値の数を返します
Boolean型、デフォルト値はfalseです。
注記:
このパラメーターはhistoryカテゴリでは無視されます。
selectorFilter
セレクターのフィルターを指定します。
String型値、構文はクイック検索に準拠します。

HTTPコード

HTTPコード
説明
200 (OK)
選択されたリソースが正常にカウントされました。
400 (Bad request)
リクエストが不正です。これは次の場合に発生します。
  • レコードまたはデータセットで選択されたフィールドがサブターミナルである場合
  • 選択されたデータセットフィールドがデータセットツリーである場合
  • filterパラメーターのクイック検索述語または完全なXPath述語が不正な形式であるか、フィルターできないノードが含まれている場合
  • viewPublicationパラメーターのテーブルビューが階層的であるか、存在しないか、または公開されていない場合
  • selectorパラメーターが非列挙ノードに使用されているか、firstElementIndexが負の値であるか、値の数以上である場合
403 (Forbidden)
認証されたユーザーに対して選択されたリソースが非表示になっています。
404 (Not found)
選択されたリソースが見つかりません。

楽観的ロック

以前に読み取られたが、その間に変更された可能性のあるレコードに対する更新または削除操作を防ぐために、楽観的ロックメカニズムが提供されています。
楽観的ロックを有効にするには、選択リクエストで system値を含む includeMetadataパラメーターを設定する必要があります。
詳細については、「技術データ」を参照してください。
update_timeプロパティ値は、後続のリクエストに含める必要があります。指定された時刻以降にレコードが変更されている場合、更新または削除操作はキャンセルされます。
  • レコード: 選択されたレコードの全体または部分的なコンテンツを更新します。
    変更されたレコードの更新を防ぐために、update_time値をリクエストボディに追加する必要があります。
    レコードのJSON例を参照してください。
  • フィールド: 選択されたレコードの単一フィールドを更新します。
    変更されたレコードの更新を防ぐために、update_time値は checkNotChangedSinceLastUpdateTimeパラメーターによってリクエストURLで宣言する必要があります。
update_timeプロパティ値は、変更されたレコードの削除を防ぐために、リクエストURLの checkNotChangedSinceLastUpdateTimeパラメーターでも使用できます。
注記:
checkNotChangedSinceLastUpdateTimeパラメーターは複数回使用できますが、同じレコードに対してのみです。これは、リクエストURLが複数のレコードを返す場合、リクエストが失敗することを意味します。

継承

EBX®の継承機能は、特定のプロパティと自動動作を使用して、組み込みのRESTfulサービスによってサポートされています。ほとんどの場合、継承状態はレコードとフィールドの定義またはコンテンツに従ってサーバーによって自動的に計算されます。レコードまたはフィールドを変更するすべてのアクションは、これらの状態に間接的な影響を与える可能性があります。継承ライフサイクルを完全に処理するために、特定の条件下で状態の直接変更が許可されます。禁止または矛盾する明示的な変更試行は無視されます。
参照:

組み込みRESTfulサービスにおけるレコード継承ライフサイクル

データサービス継承状態

継承プロパティ

以下の表は、EBX®の継承機能に関連するプロパティについて説明しています。
プロパティ
場所
説明
inheritance
レコードまたはテーブルのメタモデル
テーブルに対してデータセット継承がアクティブ化されているかどうかを指定します。この値はデータモデルから計算され、組み込みのRESTfulサービスを通じて変更することはできません。
inheritedField
フィールドのメタモデル
フィールドの値のソースを指定します。ソースデータはデータモデルから直接取得され、組み込みのRESTfulサービスを通じて変更することはできません。
inheritanceMode
子データセットのレコード
レコードの継承状態を指定します。レコードの継承をoverwriteからinheritに設定するには、そのinheritanceMode値をリクエストで明示的に指定する必要があります。この特定のケースでは、contentプロパティが存在しても無視されます。occultおよびrootの明示的な値は常に無視されます。contentプロパティのないoverwriteの明示的な値は無視されます。
注記:
継承されたレコードのフィールドは必然的にinheritです。
注記:
子データセットのルートレコードは常にrootになります。
可能な値は、rootinheritoverwriteoccultです。詳細については、「レコード検索メカニズム」を参照してください。
overwriteレコードのフィールド
フィールドの継承状態を指定します。フィールドの継承をinheritに設定するには、そのinheritanceMode値をリクエストで明示的に指定する必要があります。この場合、contentプロパティは無視されます。contentプロパティのないoverwriteの明示的な値は無視されます。
注記:
フィールドレベルのinheritanceModeは、rootinheritoccultレコード、主キー、および読み取り専用フィールドでは使用できません。
注記:
inheritedFieldModeinheritanceModeプロパティは、同じフィールドに両方設定することはできません。
可能な値は、inheritoverwriteです。詳細については、「継承と値の解決」を参照してください。
inheritedFieldMode
継承されたフィールド
継承されたフィールドの継承状態を指定します。フィールドの継承をinheritに設定するには、そのinheritedFieldMode値をリクエストで明示的に指定する必要があります。この場合、contentプロパティは無視されます。contentプロパティのないoverwriteの明示的な値は無視されます。
注記:
inheritedFieldModeは読み取り専用フィールドには表示されません。
注記:
inheritedFieldModeinheritanceModeプロパティは、同じフィールドに両方設定することはできません。
注記:
inheritedFieldModeinheritanceModeプロパティよりも優先されます。
可能な値は、inheritoverwriteです。詳細については、「値検索メカニズム」を参照してください。

テーブルビュー検索操作

「公開ビューの検索」操作では、以下のいずれかのメソッドを使用できます。
  • GET HTTPメソッド、または
  • メッセージボディなしの POST HTTPメソッド
    URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{tablePath: [&#94;:]*}:publishedViews
ここで、
  • {dataspace}は、データスペース識別子に続く B、またはイメージ識別子に続く Vに対応します
  • {dataset}は、データセット識別子に対応します
  • {tablePath: [&#94;:]*}は、テーブルパスに対応します

パラメーター

この操作に固有のパラメーターはありません。

HTTPコード

HTTPコード 説明
200 (OK) 情報が正常に返されました。
400 (Bad request) 不正なリクエスト、エラーが含まれています。
401 (Unauthorized) 認証に失敗しました。
403 (Forbidden) 認証されたユーザーに対して、指定されたリソースの読み取り権限が拒否されました。
404(Not found) 選択されたリソースが見つかりません。

レスポンスボディ

承認されたビュー情報(アクセスURIを含む)のコレクションが含まれています。
例: JSON

フォームデータ操作

フォームデータカテゴリの操作は、コンテンツの作成または変更時にユーザーフォーム送信の制約に準拠する必要があるデータセットフィールド、レコード、またはレコードフィールドに関するものです。これらはユーザーフォーム管理コンテキストで使用することを目的としています。
操作のリクエストボディは、受信データ検証機能と結果レポートがレスポンスに追加されているという点で、dataカテゴリの同等の操作と非常によく似ています。データ検証は非アクティブ化できません。dataカテゴリ操作のパラメーター blockingConstraintsDisabledは適用されません。検証フェーズは、blocksCommitレベルが onInsertUpdateOrDeleteまたは onUserSubmit-checkModifiedValuesに設定された制約が少なくとも1つ違反された場合に失敗します。
詳細については、「ブロッキング制約と非ブロッキング制約」を参照してください。

フォーム挿入操作

フォーム挿入は POST HTTPメソッドを使用し、データを保持するメッセージボディを必要とします。この操作は、単一のトランザクションで1つまたは複数のレコードをサポートします。さらに、レコードを更新することも可能です。
  • レコード: 選択されたテーブルに新しいレコードを検証して挿入するか、既存のレコードを変更します。
  • レコードテーブル: 選択されたテーブルで1つまたは複数のレコードを検証して挿入または変更し、一貫性のあるレスポンスを確保します。操作はクライアント側で定義された順序で順次実行されます。テーブル操作中にエラーが発生した場合、すべての更新はキャンセルされ、クライアントは詳細情報を含むエラーメッセージを受け取ります。レコードの最大数は100に制限されています。
http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:mass]
ここで、
  • {category}操作カテゴリに対応します(可能な値は form-dataまたは form-data-compactです)
  • {dataspace}は、データスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset}は、データセット識別子に対応します
  • {pathInDataset}は、テーブルノードのパスに対応します
  • :mass拡張アクションは、フィルターされたレコードセットを更新する場合に必要です(フィルターパラメーターを参照)

パラメーター

以下のパラメーターは、この挿入操作に適用されます。
パラメーター
説明
includeDetails
データ詳細にアクセスするために、回答にdetailsフィールドを含めます。返される値は、そのURLリソースに対応します。
型はBoolean、デフォルト値はfalseです。
注記:
複数のレコード挿入にのみ適用されます。
includeForeignKey
各レコードの回答にforeignKeyフィールドを含めます。返される値は、このレコードを参照していた外部キーフィールドの値に対応します。
Boolean型、デフォルト値はfalseです。
注記:
複数のレコード挿入にのみ適用されます。
includeLabel
各レコードの回答にlabelフィールドを含めます。
可能な値は次のとおりです。
  • yes: labelフィールドが含まれます
  • no: labelフィールドは含まれません(ユースケース: 統合)
String型、デフォルト値はnoです。
注記:
複数のレコード挿入にのみ適用されます。
updateOrInsert
挿入するレコードがすでに存在する場合の動作を指定します。
  • trueの場合: 既存のレコードは新しいデータで更新されます
  • falseの場合: クライアントエラーが返され、操作は中止されます
Boolean型、デフォルト値はfalseです。
filter
多数のレコードが更新される場合に、クイック検索述語または完全なXPath述語式を使用して更新されるレコードを決定します。リクエストボディは、更新するフィールドを持つレコード構造である必要があります。このパラメーターは:mass拡張アクションを使用する必要があります。そうでない場合、エラーが返されます。
すべてのレコードを選択するには、ebx-all値を使用します。
viewPublicationクエリパラメーターが使用されている場合、スコープはフィルターされたビューに限定されます。
空であってはならないString型値。空の場合、エラーが返されます。
注記:
includeDetailsincludeLabel、またはincludeForeignKeyクエリパラメーターを使用する場合、レポートには最初の1000件のレポートエントリのみが返されます。
viewPublication
大量更新中に使用される公開ビューの名前を指定します。
このパラメーターの動作は、「EBX®をWebコンポーネントとして使用」セクションで説明されています。
String型値。

メッセージボディ

リクエストはメッセージボディを定義する必要があります。形式は、dataカテゴリの挿入操作のメッセージボディに似ています。

HTTPコード

HTTPコード
説明
200 (OK)
  • リクエストボディに複数のレコードが含まれている場合: 挿入/更新リクエストは正常に適用され、レポートがレスポンスボディで返されます。
  • リクエストボディに1つのレコードのみが含まれ、updateOrInserttrueの場合: 更新リクエストは正常に適用され、レポートがレスポンスボディで返されます。
201 (Created)
リクエストボディに既存でない1つのレコードのみが含まれている場合: 新しいレコードが作成され、ヘッダーフィールドLocationがそのリソースURLとともに返されます。さらに、レポートがレスポンスボディで返されます。
400 (Bad request)
リクエストが不正です。これは、ボディメッセージ構造が次の場合に発生します。
403 (Forbidden)
認証されたユーザーはレコードを作成することを許可されていないか、リクエストボディに読み取り専用フィールドが含まれています。
404 (Not found)
選択されたリソースが見つかりません。
409 (Conflict)
同時変更。updateOrInserttrueの場合にのみ利用可能で、楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、更新前に再ロードする必要があります。
422 (Unprocessable entity)
リクエストを処理できません。これは次の場合に発生します。
  • ブロッキング制約に違反した場合。この場合、適切なレポートがレスポンスボディで返されます。
  • 同じ主キーを持つ別のレコードがすでに存在するため、レコードを挿入できない場合(updateOrInsertfalseの場合にのみ利用可能)
  • 主キーの定義が存在しないか不完全であるため、レコードを挿入できない場合
  • 主キーの値を変更できないため、レコードを更新できない場合

レスポンスボディ

レスポンスボディには常に検証レポートが含まれます。ただし、失敗した場合は、レスポンスボディはJSONの Exception handlingレスポンスに対応します。
  • レコード: ヘッダーフィールド LocationがそのURLリソースとともに返されます。検証レポートはレスポンスボディに含まれます。
  • レコードテーブル: (オプション)各要素の検証レポートのリストが含まれ、複数の検証レポートに対応します。
参照:

フォーム更新操作

dataまたは data-compactカテゴリの更新操作と同様に、単一のデータセットまたはレコードの変更を許可し、PUT HTTPメソッドを使用する必要があります。利用可能なURL形式は次のとおりです。
  • データセットノード: 選択されたノードに含まれるターミナルノードの値を検証および変更します。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}
  • レコード: 選択されたレコードのコンテンツを検証および変更します。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}
    注記:
    POST HTTPメソッドでも利用可能です。この場合、URLはテーブルを指し、パラメーター updateOrInsert trueに設定する必要があります。
  • フィールド: 選択されたレコードの単一フィールドを検証および更新します。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}
    注記:
    フィールドはターミナルノードであるか、それ以上である必要があります。
    ここで、
  • {category}操作カテゴリに対応します(可能な値は form-dataまたは form-data-compactです)
  • {dataspace}は、データスペース識別子に続く B、またはスナップショット識別子に続く Vに対応します
  • {dataset}は、データセット識別子に対応します
  • {pathInDataset}は、データセットノードのパスに対応します。
    • データセットノード操作の場合、これはテーブルノードを除く任意のターミナルノードまたはそれ以上である必要があります
    • レコードおよびフィールド操作の場合、これはテーブルノードに対応します
  • {encodedPrimaryKey}は、主キーのパーセントエンコードされた表現に対応します(RFC-3986 Uniform Resource Identifierを参照)
  • {pathInRecord}は、テーブルノードから始まるパスに対応します

パラメーター

更新操作に適用されるパラメーターは次のとおりです。
パラメーター 説明
TIBCO EBX® ドキュメント - 組み込みRESTfulサービス | byDelta | リクエストボディで定義されていないノードの値を設定する動作を指定します。これは、「更新モード」セクションで説明されています。 Boolean型で、デフォルト値は trueです。 | | checkNotChangedSinceLastUpdateTime | レコードが最終読み取り以降に変更されていないことを確認するために使用される日時形式のタイムスタンプです。また、「楽観的ロック」セクションも参照してください。 DateTime型の値です。 |

メッセージボディ

リクエストはメッセージボディを定義する必要があります。形式は dataカテゴリの更新操作の「メッセージボディ」と同じです。

HTTPコード

HTTPコード
説明
200(Ok)
更新リクエストは正常に適用され、レポートがレスポンスボディで返されます。
400 (Bad request)
リクエストが不正です。これは、ボディリクエストの構造が準拠していない場合に発生します。
403 (Forbidden)
認証済みユーザーは指定されたリソースを更新する権限がないか、リクエストボディに読み取り専用フィールドが含まれています。
404 (Not found)
選択されたリソースが見つかりません。
409 (Conflict)
同時変更が発生しました。楽観的ロックがアクティブ化されており、その間にコンテンツが変更されたため、更新前に再読み込みする必要があります。
422 (Unprocessable entity)
リクエストを処理できません。これは次の場合に発生します。
  • ブロッキング制約に違反しました。この場合、適切なレポートがレスポンスボディで返されます。
  • 主キーの値を変更できないため、レコードを更新できません。

レスポンスボディ

レスポンスボディは、「フォーム挿入操作」と同じ形式と動作を持ちます。

データセット操作

これらの操作は、データセットに対する選択を実行します。
参照:

データセットの選択

選択操作では、GETまたは POSTメソッドを使用できます。
注記:
POSTが使用される場合、メッセージボディは常に無視されます。
URL形式は次のとおりです。
  • ルート: 指定されたデータスペースのルートデータセットを返します。
    ページネーションメカニズムは常に有効です。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}
  • : 指定されたデータセットの子データセットを返します。
    ページネーションメカニズムは常に有効です。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}:children
  • 情報: データセット情報を返します。
    http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}:information
    ここで、
  • {category}は「操作カテゴリ」に対応します(指定可能な値は dataまたは data-compactです)。
  • {dataspace}は、データスペースの識別子に続く B、またはスナップショットの識別子に続く Vに対応します。
  • {dataset}はデータセット識別子に対応します。

パラメーター

以下のクエリパラメーターは、ルートおよび操作に適用されます。
パラメーター 説明
includeLabel 詳細については、「includeLabel」を参照してください。
includeDetails 詳細については、「includeDetails」を参照してください。
includeOpenApiDetails 詳細については、「includeOpenApiDetails」を参照してください。
includeValidation 詳細については、「includeValidation」を参照してください。
includeHistory 詳細については、「includeHistory」を参照してください。
firstElementIndex 詳細については、「firstElementIndex」を参照してください。
pageSize 詳細については、「pageSize」を参照してください。
以下のクエリパラメーターは、情報操作に適用されます。
パラメーター 説明
includeLabel 詳細については、「includeLabel」を参照してください。

HTTPコード

HTTPコード
説明
200 (OK)
リクエストは正常に処理されました。
400 (Bad request)
リクエストが不正です。これは次の場合に発生します。
  • firstElementIndexパラメーターの値が不正な形式であるか、範囲外です。
  • pageSizeパラメーターの値が不正な形式であるか、範囲外です。
401 (Unauthorized)
認証に失敗しました。
403 (Forbidden)
選択されたリソースは認証済みユーザーから非表示になっています。
404 (Not found)
選択されたリソースが見つかりませんでした。

レスポンスボディ

選択が成功すると、結果がレスポンスボディで返されます。コンテンツは、指定されたパラメーターと選択されたデータによって異なります。
形式は選択されたオブジェクトタイプにリンクされています。

データスペース操作

これらの操作は、データスペースに対する選択またはライフサイクル管理を実行します。
参照:

ベータ機能: データスペースまたはスナップショットの選択

選択操作では、GETまたは POSTメソッドのいずれかを使用できます。ページネーションメカニズムは常に有効です。
URL形式は次のとおりです。
  • ルート: ルートデータスペースを返します
    http[s]://<host>[:<port>]/ebx-dataservices/rest/data/v1/
  • : 指定されたデータスペースの子データスペースを返します
    http[s]://<host>[:<port>]/ebx-dataservices/rest/data/v1/{dataspace}:children
  • スナップショット: 指定されたデータスペースのスナップショットを返します
    http[s]://<host>[:<port>]/ebx-dataservices/rest/data/v1/{dataspace}:snapshots
  • 情報: データスペースまたはスナップショットの情報を返します
    http[s]://<host>[:<port>]/ebx-dataservices/rest/data/v1/{dataspace}:information
    ここで、
  • {dataspace}は、データスペースの識別子に続く B、またはスナップショットの識別子に続く Vに対応します。

パラメーター

以下のクエリパラメーターは、ルート、およびスナップショット操作に適用されます。
パラメーター
説明
includeClosed
クローズされたデータスペースを選択に含めます。
Boolean型で、デフォルト値はfalseです。
includeAdministration
管理データスペースを選択に含めます。
Boolean型で、デフォルト値はfalseです。
pageRecordFilter
ページネーションのために、レコードを指すサーバー側で構築されたフィルターを指定します。このフィルターはpageAction値に強くリンクされており、クライアント側で変更すべきではありません。フィルターは、ページネーションコンテキストを特定するために使用されるレコードのXPath述語式の形式を取ります。
String型です。
pageAction
pageRecordFilterによって保持される識別子から実行するページネーションアクションを指定します。
String型で、デフォルト値はfirstです。指定可能な値は次のとおりです。
  • first
  • previous
  • next
  • last
pageSize
1ページあたりの最大レコード数を指定します。
Integer型で、デフォルト値はユーザー設定に基づきます。値は2から100の間である必要があります。

HTTPコード

HTTPコード
説明
200 (OK)
リクエストは正常に処理されました。
400 (Bad request)
リクエストが不正です。これは次の場合に発生します。
  • pageActionパラメーターの値が許可された値に含まれていません。
  • 次または前のページを選択する際に、pageRecordFilterが不正な形式であるか、存在しません。
  • pageSizeパラメーターの値が範囲外です。
401 (Unauthorized)
認証に失敗しました。
403 (Forbidden)
選択されたリソースは認証済みユーザーから非表示になっています。
404 (Not found)
選択されたリソースが見つかりませんでした。

レスポンスボディ

選択が成功すると、結果がレスポンスボディで返されます。コンテンツは、指定されたパラメーターと選択されたデータによって異なります。
形式は選択されたオブジェクトタイプにリンクされています。
  • ルート、またはスナップショットの場合、「JSON」の例を参照してください。
  • 情報の場合、「JSON」の例を参照してください。

ベータ機能: 子データスペースまたはスナップショットの作成

指定されたデータスペースまたはスナップショットを作成します。この操作は、ボディリクエスト(特定のクエリパラメーターなし)とともに POSTメソッドを使用します。
参照:
URL形式は次のとおりです。
  • データスペース:
    http[s]://<host>[:<port>]/.../data/v1/{dataspace}:createDataspace
  • スナップショット:
    http[s]://<host>[:<port>]/.../data/v1/{dataspace}:createSnapshot
    ここで、
  • {dataspace}は、データスペース識別子に続く Bに対応します。

リクエストボディ

ボディは、作成するデータスペースまたはスナップショットの機能を指定します。
参照:
JSON」の例を参照してください。

HTTPコード

HTTPコード 説明
201 (Created) 新しいデータスペースまたはスナップショットが作成されました。この場合、ヘッダーフィールド LocationがそのリソースURLとともに返されます。
400 (Bad request) リクエストボディが整形式でないか、無効なコンテンツが含まれています。
401 (Unauthorized) 認証に失敗しました。
403 (Forbidden) 認証済みユーザーに対して、指定されたリソースを作成する権限が拒否されました。
404 (Not found) リクエストボディで指定されたリソースが見つかりません。
500 (Internal error) アプリケーションによって予期せぬエラーがスローされました。エラーの詳細は通常、EBX®ログで見つけることができます。

ベータ機能: データスペースのロック

指定されたデータスペースをロックします。データスペースがすでにロックされている場合:
  • 同じユーザーによってロックされている場合、ロックは保持されます。
  • 別のユーザーによってロックされており、待機時間中にロックが取得された場合、ロックは取得されます。
  • それ以外の場合、ロックは拒否されます。
    この操作は POSTメソッドを使用し、Content-Typeヘッダーを次のように設定して消費します。
  • application/x-www-form-urlencoded: ボディにHTTPパラメーターを含めるか、
  • application/json: URLにHTTPパラメーターを含め、JSONボディに「セッションパラメーター」を含めます。
    成功した場合、レスポンスボディは返されません。
参照:
URL形式は次のとおりです。
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:lock
ここで、
  • {dataspace}は、データスペース識別子に続く Bに対応します。

パラメーター

以下のクエリパラメーターがこの操作に適用されます。
パラメーター 説明
durationToWaitForLock データスペースが別のユーザーによってロックされている場合、ロックを取得するために待機する最大期間を指定します。 期間は秒単位で指定されます。値が 0に設定されている場合、ロック試行は直ちに実行されます。いくつかの理由により、待機期間は 60秒を超えることはできません。そうでない場合、値は最大値で上書きされます。 Integer型で、デフォルト値は 0です。

HTTPコード

HTTPコード 説明
204 (No content) リクエストは正常に処理されましたが、レスポンスボディは返されません。
400 (Bad request) リクエストURLまたはボディが整形式でないか、無効なコンテンツが含まれています。
401 (Unauthorized) 認証に失敗しました。
403 (Forbidden) 認証済みユーザーに対して、指定されたリソースをロックする権限が拒否されました。
404 (Not found) URLで指定されたリソースが見つかりません。
409 (Conflict) リソースはすでに別のユーザーによってロックされており、durationToWaitForLockパラメーターの値の後にロックが拒否されます。
500 (Internal error) アプリケーションによって予期せぬエラーがスローされました。エラーの詳細は通常、EBX®ログで見つけることができます。

ベータ機能: データスペースのロック解除

指定されたデータスペースのロックを解除します。データスペースが次の場合:
  • 同じユーザーによってロックされている場合、ロックは解除されます。
  • 別のユーザーによってロックされており、現在のユーザーが管理者であり、forceByAdministratorクエリパラメーターが trueに設定されている場合、ロックは解除されます。
  • ロックされていない場合、ロックステータスは変更されません。
  • それ以外の場合、ロック解除は拒否されます。
    この操作は POSTメソッドを使用し、Content-Typeヘッダーを次のように設定して消費します。
  • application/x-www-form-urlencoded: ボディにHTTPパラメーターを含めるか、
  • application/json: URLにHTTPパラメーターを含め、JSONボディに「セッションパラメーター」を含めます。
    成功した場合、レスポンスボディは返されません。
参照:
URL形式は次のとおりです。
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:unlock
ここで、
  • {dataspace}は、データスペース識別子に続く Bに対応します。

パラメーター

以下のクエリパラメーターがこの操作に適用されます。
パラメーター 説明
TIBCO EBX® ドキュメンテーション - 組み込み RESTful サービス | forceByAdministrator | データスペースが他のユーザーによってロックされている場合、管理者はロック解除を強制できます。 Boolean 型、デフォルト値は false です。 |

HTTP コード

HTTP コード 説明
204 (コンテンツなし) リクエストは正常に処理されましたが、レスポンスボディは返されません。
400 (不正なリクエスト) リクエスト URL またはボディの形式が正しくないか、無効なコンテンツが含まれています。
401 (認証なし) 認証に失敗しました。
403 (禁止) 認証されたユーザーに対して、指定されたリソースのロック解除が拒否されました。
404 (見つかりません) URL で指定されたリソースが見つかりません。
409 (競合) リソースがすでに他のユーザーによってロックされているか、現在のユーザーが管理者であるにもかかわらず forceByAdministrator パラメーターが false のため、ロック解除が拒否されました。
500 (内部エラー) アプリケーションによって予期しないエラーがスローされました。エラーの詳細は通常、EBX® ログで確認できます。

ベータ機能: データスペースのマージ

指定されたデータスペースをその親にマージします。マージ後に履歴および/またはデータを削除することが可能です。
この操作は POST メソッドを使用し、Content-Type ヘッダーを以下に設定して消費します。
  • application/x-www-form-urlencoded: HTTP パラメーターをボディに含めるか、
  • application/json: HTTP パラメーターを URL に含め、セッションパラメーターを JSON ボディに含めます。
成功した場合、レスポンスボディは返されません。
注記:
データサービスを介して実行されるマージの場合、マージ決定ステップはバイパスされます。このような場合、子データスペースのデータは自動的に親のデータを上書きします。
参照:
URL 形式は次のとおりです。
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:merge
ここで、
  • {dataspace}B の後にデータスペース識別子が続きます。

パラメーター

以下のクエリパラメーターがこの操作に適用されます。
パラメーター 説明
deleteHistoryOnMerge マージ時に指定されたデータスペースに関連付けられた履歴を削除するかどうかを設定します。 Boolean 型、デフォルト値は false です。 このパラメーターがリクエストで指定されていない場合、デフォルト値は false です。デフォルト値は、EBX® メイン設定ファイルでプロパティ ebx.dataservices.historyDeletionOnCloseOrMerge.default を指定することで再定義できます。
deleteDataOnMerge マージ時に指定されたデータスペースとその関連スナップショットを削除するかどうかを設定します。 Boolean 型、デフォルト値は false です。 このパラメーターがリクエストで指定されていない場合、デフォルト値は false です。デフォルト値は、EBX® メイン設定ファイルでプロパティ ebx.dataservices.dataDeletionOnCloseOrMerge.default を指定することで再定義できます。

HTTP コード

HTTP コード 説明
204 (コンテンツなし) リクエストは正常に処理されましたが、レスポンスボディは返されません。
400 (不正なリクエスト) リクエスト URL に無効なコンテンツが含まれています。
401 (認証なし) 認証に失敗しました。
403 (禁止) 認証されたユーザーに対して、指定されたリソースのマージが拒否されました。
404 (見つかりません) URL で指定されたリソースが見つかりません。
500 (内部エラー) アプリケーションによって予期しないエラーがスローされました。エラーの詳細は通常、EBX® ログで確認できます。

ベータ機能: データスペースまたはスナップショットのクローズ

指定されたデータスペースまたはスナップショットをクローズします。クローズ後に履歴および/またはデータを削除することが可能です。
この操作は POST メソッドを使用し、Content-Type ヘッダーを以下に設定して消費します。
  • application/x-www-form-urlencoded: HTTP パラメーターをボディに含めるか、
  • application/json: HTTP パラメーターを URL に含め、セッションパラメーターを JSON ボディに含めます。
    成功した場合、レスポンスボディは返されません。
参照:
URL 形式は次のとおりです。
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:close
ここで、
  • {dataspace}B の後にデータスペース識別子が続くか、V の後にスナップショット識別子が続きます。

パラメーター

以下のクエリパラメーターがこの操作に適用されます。
パラメーター 説明
deleteHistoryOnClose クローズ時に指定されたデータスペースに関連付けられた履歴を削除するかどうかを設定します。 Boolean 型、デフォルト値は false です。 このパラメーターがリクエストで指定されていない場合、デフォルト値は false です。デフォルト値は、EBX® メイン設定ファイルでプロパティ ebx.dataservices.historyDeletionOnCloseOrMerge.default を指定することで再定義できます。
deleteDataOnClose クローズ時に指定されたデータスペースとその関連スナップショットを削除するかどうかを設定します。 Boolean 型、デフォルト値は false です。 このパラメーターがリクエストで指定されていない場合、デフォルト値は false です。デフォルト値は、EBX® メイン設定ファイルでプロパティ ebx.dataservices.dataDeletionOnCloseOrMerge.default を指定することで再定義できます。

HTTP コード

HTTP コード 説明
204 (コンテンツなし) リクエストは正常に処理されましたが、レスポンスボディは返されません。
400 (不正なリクエスト) リクエスト URL またはボディの形式が正しくないか、無効なコンテンツが含まれています。
401 (認証なし) 認証に失敗しました。
403 (禁止) 認証されたユーザーに対して、指定されたリソースのクローズが拒否されました。
404 (見つかりません) URL で指定されたリソースが見つかりません。
422 (処理できないエンティティ) ブロッキング制約に違反しました。
500(内部エラー) アプリケーションによって予期しないエラーがスローされました。エラーの詳細は通常、EBX® ログで確認できます。

ヘルス操作

概要

ヘルス操作は EBX® サーバーの監視に役立ちます。

開始済み操作

EBX® が開始され初期化されている場合はステータスコード 200 (OK) を返し、それ以外の場合は 503 (サービス利用不可) を返します。
URL 形式は次のとおりです。
http[s]://<host>[:<port>]/.../health/v1/started

HTTP コード

HTTP コード 説明
200 (OK) リクエストは正常に処理され、レスポンスボディが返されます。
503 (サービス利用不可) EBX® はまだ開始および初期化されていません。診断に役立つメッセージが返されます。

レスポンスボディ

JSON の例を参照してください。

チェック操作

EBX® が開始されチェックされている場合はステータスコード 200 (OK) を返し、それ以外の場合は 503 (サービス利用不可) を返します。
URL 形式は次のとおりです。
http[s]://<host>[:<port>]/.../health/v1/check

HTTP コード

HTTP コード 説明
200 (OK) リクエストは正常に処理され、レスポンスボディが返されます。
503 (サービス利用不可) EBX® はまだ開始および初期化されていません。診断に役立つメッセージが返されます。

レスポンスボディ

JSON の例を参照してください。

停止済み操作

EBX® リポジトリがシャットダウンされている場合はステータスコード 200 (OK) を返し、それ以外の場合は 503 (サービス利用不可) を返します。
URL 形式は次のとおりです。
http[s]://<host>[:<port>]/.../health/v1/stopped

HTTP コード

HTTP コード 説明
200 (OK) リクエストは正常に処理され、レスポンスボディが返されます。
503 (サービス利用不可) EBX® はまだ開始および初期化されていません。診断に役立つメッセージが返されます。

レスポンスボディ

JSON の例を参照してください。

OpenAPI 操作

概要

api カテゴリの操作は、OpenAPI 仕様 3.0.X に準拠して JSON ドキュメントを生成します。これらのドキュメントは、利用可能な REST 組み込みリソースとそれらに関連する操作を構造化および記述することで、開発と利用を容易にします。
OpenAPI ドキュメントの HATEOAS リンクは、includeOpenApiDetails クエリパラメーターを使用する際に、選択データ操作を通じて利用できます。
REST OpenAPI サービスの権限は、グローバル権限でグローバルに定義されます。
特定の言語でクライアントを生成するために、適切な型マッピングを行うことが不可欠です。OpenAPI 形式は、入力の検証や、選択したプログラミング言語での特定の値へのマッピングに使用できます。単純型のコンテンツの詳細については、こちらを参照してください。
注記:
特定の形式をサポートしないツールは、type のみにフォールバックする場合があります。

OpenAPI ドキュメントの生成

この操作は、GET または POST HTTP メソッドを使用して、データセット、テーブル、またはスキーマノードの OpenAPI ドキュメントを生成します。
URL 形式は次のとおりです。
  • データセット:
    http[s]://<host>[:<port>]/ebx-dataservices/rest/api/v1/{category}/v1/{dataspace}/{dataset}
  • テーブルとスキーマノード:
    http[s]://<host>[:<port>]/ebx-dataservices/rest/api/v1/{category}/v1/{dataspace}/{dataset}/{pathInDataset}
    ここで、
  • {category} は、操作カテゴリのうち、データデータコンパクト、またはフォームデータのいずれかに対応します。
  • {dataspace}B の後にデータスペース識別子が続くか、V の後にスナップショット識別子が続きます。
  • {dataset} はデータセット識別子に対応します。
  • {pathInDataset} は次のパスに対応します。
    • テーブルノード
    • データセットの終端ノードまたはそれ以上
注記:
生成されるドキュメントはユーザー権限に依存しません。すべてのフィールドが表示されます。

HTTP コード

HTTP コード 説明
200(OK) リクエストは正常に処理されました。
401(認証なし) 認証に失敗しました。
403(禁止) 指定されたリソースの読み取りが拒否されました。
404(見つかりません) URL で指定されたリソースが見つかりません。

ステージング操作

ステージング REST API は、ソースサーバーとターゲットサーバーとの対話用に設計されています。これにより、ユーザーはステージングアーカイブのエクスポートとインポートを使用してドメインを管理できます。
サービスの完全な説明は、以下のリンクから OpenAPI 経由で利用できます。
http[s]://<host>[:<port>]/ebx-dataservices/rest/api/v1/staging/v1
開発実行モードでは、Swagger UI が以下のリンクで利用できます。
http[s]://<host>[:<port>]/ebx-dataservices/rest/api/v1/staging/v1/ui
参照:

ドメイン管理操作

ドメインサービスにより、ユーザーはドメインを管理できます。提供される機能は次のとおりです。
  • 利用可能なドメインのリストを選択
  • 一意の名前でドメインを選択
  • 新しいドメインを作成
  • ドメインのコンポーネントを選択
  • ドメインにコンポーネントを追加
  • ドメインからコンポーネントを削除 (コンポーネントは削除されます)

ステージング要素ナビゲーション操作

要素サービスは、インスタンスのすべての要素を階層的に表示するように設計されています。主に、レベル処理を伴う階層ビューをサポートする UI インターフェース向けに設計されています。構造化されたボディの代わりにクエリパラメーターを使用する目的は、ナビゲーションを容易にするためにリンクを使用することです。提供される機能は次のとおりです。
  • 要素のコンテンツを展開
  • 選択した要素の下にある特定の種類の要素のコンテンツを展開

アーカイブ操作

アーカイブサービスは、ステージングアーカイブを実行中のインスタンスとの間で単一のリクエストでインポート/エクスポートするために設計されています。また、非同期インポートのためにアーカイブをアップロードするためにも使用されます。提供される機能は次のとおりです。
  • ドメインのアーカイブをエクスポート
  • アーカイブを実行中のインスタンスにインポート
  • 非同期インポートのためにアーカイブをアップロード
cURL を介してステージングアーカイブをエクスポートする最も簡単な方法

curl --request GET 'http[s]://<host>[:<port>]/ebx-dataservices/rest/staging/v1/archives/<domain>?login=<login>&password=<password>'
cURL を介してステージングアーカイブをインポートする最も簡単な方法

curl --request POST 'http[s]://<host>[:<port>]/ebx-dataservices/rest/staging/v1/archives?login=<login>&password=<password>'
--header 'Content-Type: application/zip'
--data-binary '@/<archive-path-on-disk>'

エクスポート操作

エクスポートサービスは、高度なエクスポート機能を処理するように設計されています。アーカイブはエクスポートされ、所定の期間サーバーに保存されます。ユーザーはアーカイブに関する情報を取得でき、有効期限が切れるまでダウンロードできます。提供される機能は次のとおりです。
  • エクスポートを開始
  • 開始されたエクスポートのステータスを取得
  • エクスポートされたアーカイブをダウンロード
このエンドポイントは、同期モードと非同期モードの両方で動作できます。

同期モード

アーカイブ全体をサーバーにエクスポートした後に応答するブロッキングモードです。アーカイブはすぐにダウンロード可能になります。
export_sync.png

非同期モード

エクスポート ID で応答し、アーカイブをエクスポートするタスクを起動する非ブロッキングモードです。クライアントは、エクスポートのステータスを取得するためにステータスエンドポイントをポーリングする必要があります。ステータスが「Exported」に変わると、アーカイブはダウンロード可能になります。
export_async.png
整合性のため、ステージングの非同期ジョブは、60 分の作業時間内に完了しない場合、中止されます。

インポート操作

インポートサービスは、高度なインポート機能を処理するように設計されています。アーカイブはアップロードされ、所定の期間サーバーに保存されます。ユーザーは、非同期でインポートを開始したり、進行中または完了したインポートに関する情報を取得したりできます。
アーカイブは、オプション asyncImport=true を指定してアーカイブサービスを使用してアップロードされます。
提供される機能は次のとおりです。
  • すでにアップロードされたアーカイブを使用してインポートを開始
  • 開始されたインポートのステータス/レポートを取得
アーカイブ名は、異なるオプションで同じアーカイブを再インポートするために、以前のインポートから取得できます。これは有効期限が切れるまで利用可能です。
このエンドポイントは非同期モードでのみ動作します。
import_async.png

データモデル操作

REST API を使用すると、データモデルアシスタント (DMA) で定義された既存のデータモデルを公開できます。利用可能な機能の詳細については、DMA データモデルの公開を参照してください。

制限事項

一般的な制限事項

  • リクエスト URL {pathInDataset} または {pathInRecord} のインデックスはサポートされていません。
  • サブターミナルであるノードに適用されるデータセットノードおよびフィールド操作はサポートされていません。
    ターミナルノードの詳細については、アクセスプロパティを参照してください。

コンパクト形式の制限事項

ビジネスオブジェクトカテゴリの制限事項

  • ビジネスオブジェクトカテゴリでは、ソート、フィルター、および履歴選択機能は、ビジネスオブジェクトで定義されたリレーションシップの下のフィールドには適用できません。

読み取り操作

  • selector 内では、ページネーションコンテキストは nextPage プロパティに限定されます。
  • sortByRelevancy パラメーターがアクティブ化されている場合、以下のパラメーターは無視されます: ソートsortOnLabelsortPriority、およびviewPublicationを通じて定義されたソート条件。
  • viewPublication パラメーター内では、階層ビューとタイルビューはサポートされていません。
  • sortOnLabel パラメーターはプログラムによるラベルを無視します。
  • システム情報レスポンスのプロパティは、階層表現の REST URL を介して参照できません。
    詳細については、システム情報操作を参照してください。
  • 作成準備操作はデータセットノードをサポートしていません。
  • データスペース選択操作は、ラベルによるソートを行いません。
  • スナップショット選択操作は、初期スナップショットを含めることができません。

書き込み操作

  • 関連付けフィールドは更新できないため、関連付けられたレコードのリストを直接変更することはできません。
  • ユーザーインターフェースのコントロールポリシー onUserSubmit-checkModifiedValues はサポートされていません。検証エラーを取得するには、includeValidation パラメーターを含めてリソースに対する選択操作を呼び出します。
    詳細については、ブロッキング制約と非ブロッキング制約を参照してください。

ディレクトリ操作

  • ユーザーのパスワードの変更またはリセットはサポートされていません。

OpenAPI 操作

  • ドキュメント生成はユーザーインターフェースを通じて利用できません。
  • ドキュメント生成 REST サービスは YAML 形式をサポートしていません。
  • データ操作フォームデータ操作のみをサポートします。ただし、以下は除きます。
    • データセットツリーデータセットノード、およびフィールド操作の選択
    • 単一のリクエストでの複数のレコードの挿入または削除
    • リクエストボディでクエリパラメーターを送信するための HTTP ヘッダー content-type: x-www-form-urlencoded の使用
  • 「基本認証スキーム」のみが記述されたメソッドです。
TIBCO EBX® ドキュメンテーション - 組み込み RESTful サービス