andで区切られます。フィールドは、その単純型に応じて次のいずれかの可能性で表されます。
組み込みRESTfulサービス
Related information
はじめに
使用されるアーキテクチャはROA(Resource-Oriented Architecture)と呼ばれ、SOA(Service-Oriented Architecture)の代替となり得ます。選択されたリソースは、リクエストの内容に応じて、サードパーティシステムによって読み取りおよび/または書き込み可能です。
組み込みRESTfulサービスのHATEOASアプローチは、直感的で分かりやすいナビゲーションも可能にし、データ詳細がリンクを通じて取得できることを意味します。
注記:
すべての操作はステートレスです。
リクエスト
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}
ここで、
操作カテゴリ
操作を専門化します。
{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に依存します。
参照:
|
Accept-Language
|
レスポンスの優先ロケールを指定するために使用されます。サポートされているロケールはスキーマモデルで定義されています。
優先ロケールのいずれもサポートされていない場合、現在のモデルのデフォルトロケールが使用されます。
|
Authorization
|
サポートされている認証スキームには、「基本認証スキーム」と「トークン認証スキーム」が含まれます。別のスキームが使用された場合、リクエストは拒否されます。
参照:
|
Content-Type
|
リクエストボディのメディアタイプを指定するために使用されます。サポートされているタイプは
application/jsonとapplication/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です。
|
メッセージボディ
JSON形式のリクエストデータが含まれています。拡張JSONリクエストボディおよびコンパクトJSONリクエストボディを参照してください。
注記:
リクエストは、
POSTまたは PUT HTTPメソッドを使用する場合にのみメッセージボディを定義できます。
レスポンス
この章では、組み込みRESTfulサービスによって返されるレスポンスについて説明します。
-
標準エラー処理(HTTPコードが
300以上の場合)の詳細については、例外処理を参照してください
ヘッダーフィールド
これらのヘッダーフィールド定義はEBX®によって使用されます。
Content-Language
|
レスポンスでラベルと説明に使用されるロケールを示します。
|
Content-Type
|
レスポンスボディのコンテンツタイプを示します。
|
Location
|
新しいレコードが正常に挿入された場合、このフィールドによってそのレコードのクエリURLが返されます。
|
WWW-Authenticate
|
このヘッダーフィールドは、認証が401 (Unauthorized) HTTPコードで失敗した場合にHTTPレスポンスに追加されます。その値は、リクエストURIに適用可能な少なくとも1つの認証メソッドを含むリストで構成されます。これは、次の条件が満たされている場合にのみ存在します。
クライアントが認証メソッドを解釈できる場合、適切な資格情報を提供してリクエストを再送信することが可能です。
管理プロパティebx.dataservices.rest.auth.tryBasicAuthenticationは
trueに設定する必要があります。
|
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
リクエストは正常に処理されました。
|
201 (Created)
|
新しいレコードが作成されました。この場合、ヘッダーフィールド LocationにはそのリソースURLが返されます。
|
204 (No content)
|
リクエストは正常に処理されましたが、レスポンスボディは返されません。
|
206 (Partial Content)
|
リクエストは正常に処理されましたが、一貫性のある部分的なレスポンスボディが返されます。
|
400 (Bad request)
|
リクエストURLまたはボディの形式が正しくないか、無効なコンテンツが含まれています。
|
401 (Unauthorized)
|
認証に失敗しました。
|
403 (Forbidden)
|
認証されたユーザーに対して、指定されたリソースの読み取りまたは変更の権限が拒否されました。
このエラーは、ユーザーが次のいずれかの場合にも返されます。
|
404 (Not found)
|
URLで指定されたリソースが見つかりません。
|
406 (Not acceptable)
|
リクエストの Acceptパラメーターで定義されたコンテンツタイプはサポートされていません。このエラーは、EBX®プロパティebx.rest.request.checkAcceptがtrueに設定されている場合にのみ返されます。
|
409 (Conflict)
|
同時変更が発生しました。
参照:
|
415 (Unsupported media type)
|
リクエストコンテンツはサポートされていません。リクエストヘッダー値 Content-Typeは操作でサポートされていません。
|
422 (Unprocessable entity)
|
新しいリソースのコンテンツは、セマンティックな理由により受け入れられません。
|
500 (Internal error)
|
アプリケーションによって予期しないエラーがスローされました。エラーの詳細は通常、EBX®ログで確認できます。
|
メッセージボディ
管理操作
管理操作は以下に関連します。
-
管理カテゴリ
-
dataカテゴリを通じてアクセス可能な管理データスペース
注記:
管理カテゴリと管理データスペースは管理者のみが使用できます。
ディレクトリ操作
EBX®のデフォルトディレクトリ構成は、組み込みRESTfulサービスで管理可能です。ユーザーとロールのテーブル、メーリングリスト、その他のオブジェクトが対象となります。詳細については、ユーザーとロールのディレクトリを参照してください。
注記:
ディレクトリのテーブルにはトリガーが存在し、データの一貫性を保証します。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-directory/ebx-directory
ディレクトリ構成操作
メーリングリスト操作
ディレクトリユーザー操作
ディレクトリロール操作
ロールは
dataカテゴリのレコードであり、その操作で管理できます。EBX®ロールは、「usersRoles」関連テーブルを通じてユーザーに割り当てられます。「usersRoles」は、ユーザーインターフェースを通じてディレクトリが管理されるときに自動的に入力されます。ただし、データサービスを通じてはそうではなく、ロールの割り当てには手動操作が必要です。ロールの包含は、「rolesInclusions」関連テーブルで指定されます。「usersRoles」テーブルと同様に、ロールの包含の管理には手動操作が必要です。メタモデルがリクエストされると、各テーブルは自己記述されます。
ユーザーインターフェース操作
EBX®ユーザーインターフェースは、メンテナンスの必要に応じてユーザーに対して開閉できます。処理される情報は、UIタブ「管理」>「ユーザーインターフェース構成」>「詳細パースペクティブ」>「グラフィカルインターフェース構成」>「アプリケーションロック」に含まれるものと同様です。
URL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/Bebx-manager/ebx-manager/domain/toolStatus
参照:
ユーザーインターフェースの状態の取得
ユーザーインターフェースの開閉
システム情報操作
この操作は、EBX®サーバーのシステム情報を返します。これは
GETおよび POST HTTPメソッドで受け入れられます。警告: リクエストボディが無視されるため、POST HTTPメソッドでは更新はできません。返される情報は、ログヘッダー kernel.logまたはUIタブ「管理」>「システム情報」に含まれる情報と同じです。レスポンスには、EBX®の構成と状態を表すいくつかのキー、ラベル、値が含まれます。レスポンスの表現モードは、フラットまたは階層的である場合があります。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/admin/v1/systemInformation
参照:
パラメーター
以下のパラメーターが適用されます。
|
パラメーター
|
説明
|
|---|---|
systemInformationMode
|
返されるモードを指定します。
String型、デフォルト値はflatです。
|
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
システム情報が正常に返されました。
|
400 (Bad request)
|
リクエストが正しくありません。次のいずれかのエラーが含まれています。
|
403 (Forbidden)
|
ユーザーは管理者ではありません。
|
レスポンスボディ
トークン認証操作
これらの操作により、認証トークンを作成または取り消すことができます。認証トークンにはタイムアウト期間があります。この期間内に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を参照してください。 -
specificJSON属性がtrueに設定されていること。このフラグがアクティブ化されると、HTTPリクエスト全体に対してユーザー認証を実行できます。警告: JSONリクエストのボディにloginおよびpassword属性が定義されていても、specificをtrueに設定すると、特定のユーザー認証が行われます。詳細については、Directory.authenticateUserFromHttpRequestを参照してください。
トークン作成リクエストのJSON例を参照してください。
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
トークンが正常に作成されました。
|
400 (Bad request)
|
次のいずれかの理由によるものです。
|
401 (Unauthorized)
|
次のいずれかの理由によるものです。
|
422 (Unprocessable entity)
|
次のいずれかの理由によるものです。
|
レスポンスボディ
HTTPコードが
200 (OK)の場合、ボディにはトークン値とそのタイプが含まれます。
トークン作成レスポンスのJSON例を参照してください。
トークンは、後でHTTPヘッダー
Authorizationを適切に設定することで、ユーザーを認証するために使用できます。
関連項目:
パスワード変更操作
この操作は、既存のユーザーアカウントのパスワードを変更します。認証されたコンテキストで使用できます。
loginパラメータが存在する場合、現在のセッションと照合され、存在しない場合はセッションから取得されます。また、非認証コンテキストでも使用できます。たとえば、トークン作成操作がHTTPコード 422 *(処理できないエンティティ)*で理由 PasswordMustChangeにより中止された場合などです。
次の使用が必要です。
-
EBX®デフォルトディレクトリ
-
POSTHTTPメソッド -
以下に指定された構造を含むメッセージボディ
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)
|
次のいずれかの理由によるものです。
|
401 (Unauthorized)
|
次の理由によるものです。
|
422 (Unprocessable entity)
|
次のいずれかの理由によるものです。
|
レスポンスボディ
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)
|
次のいずれかの理由によるものです。
|
401 (Unauthorized)
|
認証に失敗しました。
|
データ操作
dataカテゴリ操作は、データセット、データセットフィールド、テーブル、レコード、またはレコードフィールドに関するものです。
data-compactカテゴリ操作は、データセットフィールド、テーブル、レコード、またはレコードフィールドに関するものです。
historyカテゴリ操作は、データセット、テーブル、レコード、またはレコードフィールドからの履歴コンテンツに関するものです。
form-dataカテゴリ操作は、コンテンツの作成または更新時に制約が有効である必要がある場合のデータセットフィールド、レコード、またはレコードフィールドに関するものです。
form-data-compactカテゴリ操作は、コンテンツの作成または更新時に制約が有効である必要がある場合のデータセットフィールド、レコード、またはレコードフィールドに関するものです。
詳細については、フォームデータ操作を参照してください。
選択操作
選択操作は階層コンテンツを返します。この操作では、次のいずれかのメソッドを使用できます。
-
GETHTTPメソッド -
メッセージボディなしの
POSTHTTPメソッド -
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]注記:フィールドは、関連ノード、選択ノード、ターミナルノード、またはそれ以上である必要があります。ここで、 -
{dataspace}は、データスペース識別子に続くB、またはスナップショット識別子に続くVに対応します。 -
{dataset}はデータセット識別子に対応します。 -
{pathInDataset}は、グループノードまたはテーブルノードであるデータセットノードのパスに対応します。 -
{encodedPrimaryKey}は、プライマリキーのパーセントエンコード表現に対応します(RFC-3986 Uniform Resource Identifierを参照)。 -
{xpathExpression}は、XPath式を使用したレコードプライマリキーに対応します。 -
{pathInRecord}は、テーブルノードから始まるパスに対応します。 -
:select拡張アクションは、ボディメッセージとともにPOSTHTTPメソッドが使用される場合に必要です。
ビジネスオブジェクトカテゴリ(
data-boおよび data-compact-bo)は、他のテーブルからのデータを追加することで、Table、Record、および Fieldリクエストのレスポンスを強化します。
パラメータ
次のパラメータは選択操作に適用されます。
|
パラメータ
|
説明
|
|---|---|
includeContent
|
選択に対応するコンテンツを含む
contentフィールドを含めます。
Boolean型、デフォルト値はtrueです。
|
includeDetails
|
メタモデルおよびコンテンツに
detailsフィールドを含め、間接的に到達可能な各リソースについて含めます。返される値は、そのURLリソースに対応します。
Boolean型、デフォルト値はtrueです。
関連項目:
|
includeHistory
|
履歴コンテンツの次のフィールドを含めます。
Boolean型、デフォルト値はfalseです。
注記:
includeHistoryパラメータはhistoryカテゴリでは無視され、デフォルト値はtrueです。
|
includeLabel
|
各単純型
contentに関連付けられた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です。
注記:
このクエリパラメータは、includeDetailsが
falseに設定されている場合、無視されます。
関連項目:
|
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:
参照:
|
historyMode
|
テーブルに適用されるフィルターコンテキストを指定します。
文字列型、指定可能な値は次のとおりです。
デフォルト値は
CurrentDataSpaceOnlyです。
参照:
注記:
このパラメーターは
dataカテゴリーでは無視されます。
|
includeOcculting
|
オカルティングモードのレコードを含めます。
ブール値型、デフォルト値は
falseです。
参照:
|
primaryKey
|
XPath式を使用して、主キーでレコードを検索します。XPath述語式には、主キーのフィールドのみがすべて含まれている必要があります。フィールドは演算子
複合主キーの例:
./pk1i=1 and date-equal(./pk2d,'2015-11-13')
文字列型の値。
|
pageFirstRecordFilter
|
5.9.0以降非推奨、 pageRecordFilterに置き換えられました。
|
pageRecordFilter
|
レコードを指す、ページネーション用のサーバーサイドで構築されたフィルターを指定します。このフィルターは
pageAction値に強くリンクされており、クライアント側で変更してはなりません。フィルターは、ページネーションコンテキストを特定するために使用されるレコードのXPath述語式の形式を取ります。
文字列型。
参照:
|
pageAction
|
pageRecordFilterによって保持される識別子から実行するページネーションアクションを指定します。
文字列型、デフォルト値は
firstです。指定可能な値は次のとおりです。
|
pageSize
|
1ページあたりの最大レコード数を指定します。
整数型、デフォルト値はユーザー設定に基づきます。指定された値が
0の場合、推奨される最大ページサイズ(デフォルトは10000)で選択されます。
注記:
指定されたページサイズ値が最大ページサイズを超過する場合、最大ページサイズが選択されます。
|
sort
|
操作結果が指定された基準に従ってソートされることを指定します。基準は1つ以上の条件で構成され、結果は左から優先順位に従ってソートされます。条件はフィールドパスと、オプションでソート順序(昇順または降順、値またはラベルによる)で構成されます。このパラメーターは以下と組み合わせることができます。
値の構造は次のとおりです。
<path1>:<order>;...;<pathN>:<order>
ここで、
文字列型、デフォルト値は主キーフィールドに従ってソートされます(値による昇順)。
注記:
履歴コード操作値は、このフィールドに関連付けられた
metaセクションのebx-operationCodeパスフィールドで使用できます。
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
|
sortByRelevancy
|
操作結果が関連性によってソートされることを指定します。ただし、以下の条件が満たされている場合に限ります。
関連性によるソートが有効になっている場合、次のパラメーターは無視されます: ソート、
sortOnLabel、sortPriority、およびviewPublicationを通じて定義されたソート基準。
参照:
|
sortOnLabel
|
操作結果がレコードラベルに従ってソートされることを指定します。このパラメーターは以下と組み合わせることができます。
値の構造は次のとおりです。
<order>
ここで、
このパラメーターの動作は、
defaultLabelセクションで説明されています。
文字列型の値。
参照:
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
|
sortPriority
|
ソートグループのデフォルトの優先度を上書きします。
カンマ区切りの文字列型、デフォルト値は
sort,sortOnLabel,sortFromViewです。
注記:
このパラメーターは、関連性によるソートが有効になっている場合は無視されます。
|
viewPublication
|
公開されたビューの名前を指定します。このパラメーターは以下と組み合わせることができます。
このパラメーターの動作は、WebコンポーネントとしてのEBX®セクションで説明されています。
文字列型の値。
注記:
このパラメーターを通じて定義されたソート基準は、関連性によるソートが有効になっている場合は無視されます。
参照:
|
セレクターパラメーター
以下のパラメーターは、列挙、外部キー、または
osd:resourceを返すフィールドにのみ適用されます(例: JSON)。デフォルトでは、ページネーションメカニズムは常に有効です。一部のセレクターの選択操作には入力値が必要です。したがって、POST HTTPメソッドのメッセージボディを使用すると、レコードコンテンツを提供できます。
|
パラメーター
|
説明
|
|---|---|
selector
|
以下を指定します。
ブール値型、デフォルト値は
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)
|
リクエストが不正です。これは次の場合に発生します。
|
403 (Forbidden)
|
選択されたリソースは認証されたユーザーに対して非表示です。
|
404 (Not found)
|
選択されたリソースが見つかりません。
|
応答ボディ
準備操作
作成または複製操作の準備は、初期コンテンツを持つ新しい一時レコード、または複製するレコードのコンテンツを持つ新しい一時レコードを作成するために使用されます。一時レコードは、まだ永続化されていないコンテンツに対応します。テーブルトリガーによって初期化されたデフォルト値とフィールドが考慮されます。読み取り専用アクセス権限を持つフィールド値のみが返されます。これらの操作は、クライアント側でのデータキャプチャを改善および支援するために、オプションでメタモデルを返すことができます。自動インクリメントフィールドはメタモデルでのみ返されます。セレクターパラメーターを有効にすることで、一時レコードのフィールドを照会して、列挙フィールド、外部キーなどの可能な値を取得できます。さらに、セレクターの選択操作により、カスタムプログラム列挙のメタモデルの取得などのユースケースを管理するために、入力レコードデータを提供できます。
参照:
参照:
これらの準備操作では、次のいずれかのメソッドを使用できます。
-
GETHTTPメソッド -
メッセージボディなしの
POSTHTTPメソッド -
メッセージボディとオプションのセッションパラメーターを持つ
POSTHTTPメソッド。利用可能な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}
ここで、 -
-
{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)
|
リクエストが不正です。これは次の場合に発生します。
|
401 (Unauthorized)
|
認証に失敗しました。
|
403 (Forbidden)
|
選択されたリソースは認証されたユーザーから非表示です。
|
404 (Not found)
|
選択されたリソースが見つかりませんでした。
|
レスポンスボディ
挿入操作
挿入操作では
POST HTTPメソッドを使用します。データを指定するにはボディメッセージが必要です。この操作は、単一のトランザクションで1つ以上のレコードの挿入をサポートします。さらに、パラメーター化によってレコードを更新することも可能です。
-
レコード: 選択したテーブルに新しいレコードを挿入するか、既存のレコードを変更します
-
レコードテーブル: 選択したテーブルに1つ以上のレコードを挿入または変更し、一貫性のある応答を確保します。操作はクライアント側で定義された順序で順次実行されます。テーブル操作中にエラーが発生した場合、すべての更新はキャンセルされ、クライアントは詳細情報を含むエラーメッセージを受け取ります
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}[:mass]
説明:
-
{dataspace}はデータスペース識別子に続くB、またはスナップショット識別子に続くVに対応します -
{dataset}はデータセット識別子に対応します -
{pathInDataset}はテーブルノードのパスに対応します -
:mass拡張アクションは、フィルタリングされたレコードセットを更新する場合に必要です (フィルターパラメーターを参照)
パラメーター
以下のパラメーターは挿入操作に適用可能です。
|
パラメーター
|
説明
|
|---|---|
includeDetails
|
データ詳細にアクセスするために、コンテンツに
detailsフィールドを含めます。返される値は、そのURLリソースに対応します。
型は
Booleanで、デフォルト値はfalseです。
注記:
レコードテーブルにのみ適用されます
参照:
|
includeForeignKey
|
各レコードの応答に
foreignKeyフィールドを含めます。返される値は、このレコードを参照していた外部キーフィールドの値に対応します。
型は
Booleanで、デフォルト値はfalseです。
注記:
レコードテーブルにのみ適用されます
参照:
|
includeLabel
|
各レコードの応答に
labelフィールドを含めます。
指定可能な値:
型は
Stringで、デフォルト値はnoです。
注記:
レコードテーブルにのみ適用されます
参照:
|
updateOrInsert
|
挿入するレコードがすでに存在する場合の動作を指定します:
Boolean型の値。
|
byDelta
|
リクエストボディで定義されていないノードの値を設定する動作を指定します。これは更新モードセクションで説明されています。
型は
Booleanで、デフォルト値はtrueです。
注記:
更新モードのレコード、およびupdateOrInsertパラメーターが
trueの場合に適用されます
|
filter
|
クイック検索述語、または多数のレコードが更新される場合の完全なXPath述語式を使用して、更新されるレコードを決定します。リクエストボディは、更新するフィールドを持つレコード構造である必要があります。このパラメーターは、:mass拡張アクションを使用する必要があります。そうしないと、エラーが返されます。
すべてのレコードを選択するには、ebx-all値を使用します。
viewPublicationクエリパラメーターを使用する場合、スコープはフィルタリングされたビューに限定されます。
String型の値で、空であってはなりません。空の場合、エラーが返されます。
注記:
|
viewPublication
|
大量更新中に考慮される公開ビューの名前を指定します。
このパラメーターの動作は、WebコンポーネントとしてのEBX®セクションで説明されています。
String型の値。
|
blockingConstraintsDisabled
|
ブロッキング制約を無視するかどうかを指定します。無視する場合、作成された検証エラーに関係なく操作はコミットされます。そうでない場合、操作は中止されます。
型は
Booleanで、デフォルト値はfalseです。
詳細については、ブロッキング制約と非ブロッキング制約を参照してください。
|
メッセージボディ
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
リクエストがレコードテーブルに関連する場合。
挿入リクエストは正常に適用され、オプションのレポートがレスポンスボディで返されます。
|
201 (Created)
|
リクエストがレコードに関連する場合。
新しいレコードが作成され、この場合、ヘッダーフィールド LocationがそのリソースURLとともに返されます。
|
204 (No content)
|
リクエストがレコードに関連する場合。
updateOrInsertがtrueの場合にのみ利用可能で、既存のレコードが正常に更新され、この場合、ヘッダーフィールドLocationがそのリソースURLとともに返されます。
|
400 (Bad request)
|
リクエストが不正です。これは、メッセージボディの構造がメッセージボディで言及されている内容に準拠していない場合に発生します。
|
403 (Forbidden)
|
認証されたユーザーはレコードを作成する権限がないか、リクエストボディに読み取り専用フィールドが含まれています。
|
404 (Not found)
|
選択されたリソースが見つかりません。
|
409 (Conflict)
|
|
422 (Unprocessable entity)
|
リクエストを処理できません。これは次の場合に発生します:
|
レスポンスボディ
更新操作
この操作により、単一のデータセットまたはレコードの変更が可能です。
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}注記:POSTHTTPメソッドでも利用可能です。この場合、URLはテーブルを指し、パラメーターupdateOrInsertはtrueに設定する必要があります注記: -
フィールド: 選択したレコードの単一フィールドを更新します。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}注記:フィールドは末端ノードまたはそれ以上である必要があります説明: -
{dataspace}はデータスペース識別子に続くB、またはスナップショット識別子に続くVに対応します -
{dataset}はデータセット識別子に対応します -
{pathInDataset}はデータセットノードのパスに対応します:-
データセットノード操作の場合、これはテーブルノードを除く任意の末端ノードまたはそれ以上である必要があります
-
レコードおよびフィールド操作の場合、これはテーブルノードに対応します
-
-
{encodedPrimaryKey}は主キーのパーセントエンコード表現に対応します (RFC-3986 Uniform Resource Identifierを参照) -
{pathInRecord}はテーブルノードから始まるパスに対応します
パラメーター
更新操作に適用可能なパラメーターは次のとおりです。
| パラメーター | 説明 |
|---|---|
blockingConstraintsDisabled |
ブロッキング制約を無視するかどうかを指定します。無視する場合、作成された検証エラーに関係なく操作はコミットされます。そうでない場合、操作は中止されます。 型は Booleanで、デフォルト値は falseです。 詳細については、ブロッキング制約と非ブロッキング制約を参照してください。 |
byDelta |
リクエストボディで定義されていないノードの値を設定する動作を指定します。これは更新モードセクションで説明されています。 型は Booleanで、デフォルト値は trueです。 |
checkNotChangedSinceLastUpdateTime |
レコードが最後に読み取られてから変更されていないことを確認するために使用される、日時形式のタイムスタンプです。楽観的ロックセクションも参照してください。 DateTime型の値。 |
メッセージボディ
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
204 (No content)
|
レコード、フィールド、またはデータセットノードが正常に更新されました。
|
400 (Bad request)
|
リクエストが不正です。これは、ボディリクエストの構造が準拠していない場合に発生します。
|
403 (Forbidden)
|
認証されたユーザーは指定されたリソースを更新する権限がないか、リクエストボディに読み取り専用フィールドが含まれています。
|
404 (Not found)
|
選択されたリソースが見つかりません。
|
409 (Conflict)
|
同時変更。楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、更新前に再ロードする必要があります。
|
422 (Unprocessable entity)
|
リクエストを処理できません。これは次の場合に発生します:
|
削除操作
この操作では
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)
|
リクエストが不正です。これは次の場合に発生します:
|
403 (Forbidden)
|
認証されたユーザーは指定されたレコードを削除またはオカルト化する権限がありません。
|
404 (Not found)
|
選択されたレコードが見つかりません。子データセットのコンテキストでは、 includeOccultingパラメーターを使用する必要がある場合があります。
|
409 (Conflict)
|
同時変更。楽観的ロックがアクティブ化されており、その間にコンテンツが変更された場合、レコードを削除する前に再ロードする必要があります。
パラメーター値 checkNotChangedSinceLastUpdateTimeは存在しますが、レコードの実際の最終更新日と一致しません。
|
422 (Unprocessable entity)
|
blockingConstraintsDisabledがfalseの場合にのみ利用可能で、ブロッキング検証エラーのため操作が失敗します。
|
レスポンスボディ
レコードの削除またはオカルト化が成功した後、レポートがレスポンスボディで返されます。これには、削除、オカルト化、および継承されたレコードの数が含まれます。
例: JSON。
カウント操作
カウント操作では、次のいずれかのメソッドを使用できます:
-
GETHTTPメソッド -
メッセージボディなしの
POSTHTTPメソッド -
メッセージボディありの
POSTHTTPメソッド (ただしルートに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注記:フィールドは、関連ノード、選択ノード、末端ノード、またはそれ以上である必要があります説明: -
{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です。
参照:
注記:
このパラメーターは
dataカテゴリでは無視されます。
|
includeOcculting
|
オカルトモードのレコードを含めます。
Boolean型、デフォルト値はfalseです。
|
viewPublication
|
カウント実行中に考慮される公開ビューの名前を指定します。このパラメーターは以下と組み合わせることができます。
このパラメーターの動作は、「EBX®をWebコンポーネントとして使用」セクションで説明されています。
String型値。
|
セレクターパラメーター
以下のパラメーターは、列挙、外部キー、または
osd:resourceを返すフィールドにのみ適用されます。
|
パラメーター
|
説明
|
|---|---|
selector
|
以下を指定します。
Boolean型、デフォルト値はfalseです。
注記:
このパラメーターは
historyカテゴリでは無視されます。
|
selectorFilter
|
セレクターのフィルターを指定します。
String型値、構文はクイック検索に準拠します。
|
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
選択されたリソースが正常にカウントされました。
|
400 (Bad request)
|
リクエストが不正です。これは次の場合に発生します。
|
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になります。
|
overwriteレコードのフィールド
|
フィールドの継承状態を指定します。フィールドの継承を
inheritに設定するには、そのinheritanceMode値をリクエストで明示的に指定する必要があります。この場合、contentプロパティは無視されます。contentプロパティのないoverwriteの明示的な値は無視されます。
注記:
フィールドレベルの
inheritanceModeは、root、inherit、occultレコード、主キー、および読み取り専用フィールドでは使用できません。
注記:
inheritedFieldModeとinheritanceModeプロパティは、同じフィールドに両方設定することはできません。
|
|
inheritedFieldMode
|
継承されたフィールド
|
継承されたフィールドの継承状態を指定します。フィールドの継承を
inheritに設定するには、そのinheritedFieldMode値をリクエストで明示的に指定する必要があります。この場合、contentプロパティは無視されます。contentプロパティのないoverwriteの明示的な値は無視されます。
注記:
inheritedFieldModeは読み取り専用フィールドには表示されません。
注記:
inheritedFieldModeとinheritanceModeプロパティは、同じフィールドに両方設定することはできません。
注記:
inheritedFieldModeはinheritanceModeプロパティよりも優先されます。
|
テーブルビュー検索操作
「公開ビューの検索」操作では、以下のいずれかのメソッドを使用できます。
-
GETHTTPメソッド、または -
メッセージボディなしの
POSTHTTPメソッドURL形式は次のとおりです。
http[s]://<host>[:<port>]/<ebx-dataservices>/rest/data/v1/{dataspace}/{dataset}/{tablePath: [^:]*}:publishedViews
ここで、
-
{dataspace}は、データスペース識別子に続くB、またはイメージ識別子に続くVに対応します -
{dataset}は、データセット識別子に対応します -
{tablePath: [^:]*}は、テーブルパスに対応します
パラメーター
この操作に固有のパラメーターはありません。
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]
ここで、
-
{dataspace}は、データスペース識別子に続くB、またはスナップショット識別子に続くVに対応します -
{dataset}は、データセット識別子に対応します -
{pathInDataset}は、テーブルノードのパスに対応します -
:mass拡張アクションは、フィルターされたレコードセットを更新する場合に必要です(フィルターパラメーターを参照)
パラメーター
以下のパラメーターは、この挿入操作に適用されます。
|
パラメーター
|
説明
|
|---|---|
includeDetails
|
データ詳細にアクセスするために、回答に
detailsフィールドを含めます。返される値は、そのURLリソースに対応します。
型は
Boolean、デフォルト値はfalseです。
注記:
複数のレコード挿入にのみ適用されます。
|
includeForeignKey
|
各レコードの回答に
foreignKeyフィールドを含めます。返される値は、このレコードを参照していた外部キーフィールドの値に対応します。
Boolean型、デフォルト値はfalseです。
注記:
複数のレコード挿入にのみ適用されます。
|
includeLabel
|
各レコードの回答に
labelフィールドを含めます。
可能な値は次のとおりです。
String型、デフォルト値はnoです。
注記:
複数のレコード挿入にのみ適用されます。
|
updateOrInsert
|
挿入するレコードがすでに存在する場合の動作を指定します。
Boolean型、デフォルト値はfalseです。
|
filter
|
多数のレコードが更新される場合に、クイック検索述語または完全なXPath述語式を使用して更新されるレコードを決定します。リクエストボディは、更新するフィールドを持つレコード構造である必要があります。このパラメーターは:mass拡張アクションを使用する必要があります。そうでない場合、エラーが返されます。
すべてのレコードを選択するには、ebx-all値を使用します。
viewPublicationクエリパラメーターが使用されている場合、スコープはフィルターされたビューに限定されます。
空であってはならない
String型値。空の場合、エラーが返されます。
注記:
|
viewPublication
|
大量更新中に使用される公開ビューの名前を指定します。
このパラメーターの動作は、「EBX®をWebコンポーネントとして使用」セクションで説明されています。
String型値。
|
メッセージボディ
リクエストはメッセージボディを定義する必要があります。形式は、
dataカテゴリの挿入操作のメッセージボディに似ています。
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
|
201 (Created)
|
リクエストボディに既存でない1つのレコードのみが含まれている場合: 新しいレコードが作成され、ヘッダーフィールド LocationがそのリソースURLとともに返されます。さらに、レポートがレスポンスボディで返されます。
|
400 (Bad request)
|
リクエストが不正です。これは、ボディメッセージ構造が次の場合に発生します。
|
403 (Forbidden)
|
認証されたユーザーはレコードを作成することを許可されていないか、リクエストボディに読み取り専用フィールドが含まれています。
|
404 (Not found)
|
選択されたリソースが見つかりません。
|
409 (Conflict)
|
|
422 (Unprocessable entity)
|
リクエストを処理できません。これは次の場合に発生します。
|
レスポンスボディ
レスポンスボディには常に検証レポートが含まれます。ただし、失敗した場合は、レスポンスボディは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}注記:POSTHTTPメソッドでも利用可能です。この場合、URLはテーブルを指し、パラメーターupdateOrInsertはtrueに設定する必要があります。 -
フィールド: 選択されたレコードの単一フィールドを検証および更新します。
http[s]://<host>[:<port>]/ebx-dataservices/rest/{category}/v1/{dataspace}/{dataset}/{pathInDataset}/{encodedPrimaryKey}/{pathInRecord}注記:フィールドはターミナルノードであるか、それ以上である必要があります。ここで、 -
{dataspace}は、データスペース識別子に続くB、またはスナップショット識別子に続くVに対応します -
{dataset}は、データセット識別子に対応します -
{pathInDataset}は、データセットノードのパスに対応します。-
データセットノード操作の場合、これはテーブルノードを除く任意のターミナルノードまたはそれ以上である必要があります
-
レコードおよびフィールド操作の場合、これはテーブルノードに対応します
-
-
{encodedPrimaryKey}は、主キーのパーセントエンコードされた表現に対応します(RFC-3986 Uniform Resource Identifierを参照) -
{pathInRecord}は、テーブルノードから始まるパスに対応します
パラメーター
更新操作に適用されるパラメーターは次のとおりです。
| パラメーター | 説明 |
|---|---|
メッセージボディ
リクエストはメッセージボディを定義する必要があります。形式は
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ここで、 -
{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)
|
リクエストが不正です。これは次の場合に発生します。
|
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です。指定可能な値は次のとおりです。
|
pageSize
|
1ページあたりの最大レコード数を指定します。
Integer型で、デフォルト値はユーザー設定に基づきます。値は2から100の間である必要があります。
|
HTTPコード
|
HTTPコード
|
説明
|
|---|---|
200 (OK)
|
リクエストは正常に処理されました。
|
400 (Bad request)
|
リクエストが不正です。これは次の場合に発生します。
|
401 (Unauthorized)
|
認証に失敗しました。
|
403 (Forbidden)
|
選択されたリソースは認証済みユーザーから非表示になっています。
|
404 (Not found)
|
選択されたリソースが見つかりませんでした。
|
レスポンスボディ
ベータ機能: 子データスペースまたはスナップショットの作成
指定されたデータスペースまたはスナップショットを作成します。この操作は、ボディリクエスト(特定のクエリパラメーターなし)とともに
POSTメソッドを使用します。
参照:
URL形式は次のとおりです。
-
データスペース:
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:createDataspace -
スナップショット:
http[s]://<host>[:<port>]/.../data/v1/{dataspace}:createSnapshotここで、 -
{dataspace}は、データスペース識別子に続くBに対応します。
リクエストボディ
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}ここで、 -
{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>'
エクスポート操作
エクスポートサービスは、高度なエクスポート機能を処理するように設計されています。アーカイブはエクスポートされ、所定の期間サーバーに保存されます。ユーザーはアーカイブに関する情報を取得でき、有効期限が切れるまでダウンロードできます。提供される機能は次のとおりです。
-
エクスポートを開始
-
開始されたエクスポートのステータスを取得
-
エクスポートされたアーカイブをダウンロード
このエンドポイントは、同期モードと非同期モードの両方で動作できます。
同期モード
アーカイブ全体をサーバーにエクスポートした後に応答するブロッキングモードです。アーカイブはすぐにダウンロード可能になります。
非同期モード
エクスポート ID で応答し、アーカイブをエクスポートするタスクを起動する非ブロッキングモードです。クライアントは、エクスポートのステータスを取得するためにステータスエンドポイントをポーリングする必要があります。ステータスが「Exported」に変わると、アーカイブはダウンロード可能になります。
整合性のため、ステージングの非同期ジョブは、60 分の作業時間内に完了しない場合、中止されます。
インポート操作
インポートサービスは、高度なインポート機能を処理するように設計されています。アーカイブはアップロードされ、所定の期間サーバーに保存されます。ユーザーは、非同期でインポートを開始したり、進行中または完了したインポートに関する情報を取得したりできます。
アーカイブは、オプション
asyncImport=true を指定してアーカイブサービスを使用してアップロードされます。
提供される機能は次のとおりです。
-
すでにアップロードされたアーカイブを使用してインポートを開始
-
開始されたインポートのステータス/レポートを取得
アーカイブ名は、異なるオプションで同じアーカイブを再インポートするために、以前のインポートから取得できます。これは有効期限が切れるまで利用可能です。
このエンドポイントは非同期モードでのみ動作します。
データモデル操作
REST API を使用すると、データモデルアシスタント (DMA) で定義された既存のデータモデルを公開できます。利用可能な機能の詳細については、DMA データモデルの公開を参照してください。
制限事項
一般的な制限事項
-
リクエスト URL
{pathInDataset}または{pathInRecord}のインデックスはサポートされていません。 -
サブターミナルであるノードに適用されるデータセットノードおよびフィールド操作はサポートされていません。ターミナルノードの詳細については、アクセスプロパティを参照してください。
コンパクト形式の制限事項
ビジネスオブジェクトカテゴリの制限事項
-
ビジネスオブジェクトカテゴリでは、ソート、フィルター、および
履歴選択機能は、ビジネスオブジェクトで定義されたリレーションシップの下のフィールドには適用できません。
読み取り操作
-
selector内では、ページネーションコンテキストはnextPageプロパティに限定されます。 -
sortByRelevancyパラメーターがアクティブ化されている場合、以下のパラメーターは無視されます: ソート、sortOnLabel、sortPriority、およびviewPublicationを通じて定義されたソート条件。 -
viewPublicationパラメーター内では、階層ビューとタイルビューはサポートされていません。 -
sortOnLabelパラメーターはプログラムによるラベルを無視します。 -
システム情報レスポンスのプロパティは、階層表現の REST URL を介して参照できません。詳細については、システム情報操作を参照してください。
-
作成準備操作はデータセットノードをサポートしていません。
-
データスペース選択操作は、ラベルによるソートを行いません。
-
スナップショット選択操作は、初期スナップショットを含めることができません。
書き込み操作
-
関連付けフィールドは更新できないため、関連付けられたレコードのリストを直接変更することはできません。
-
ユーザーインターフェースのコントロールポリシー
onUserSubmit-checkModifiedValuesはサポートされていません。検証エラーを取得するには、includeValidationパラメーターを含めてリソースに対する選択操作を呼び出します。詳細については、ブロッキング制約と非ブロッキング制約を参照してください。
ディレクトリ操作
-
ユーザーのパスワードの変更またはリセットはサポートされていません。
OpenAPI 操作
-
ドキュメント生成はユーザーインターフェースを通じて利用できません。
-
ドキュメント生成 REST サービスは YAML 形式をサポートしていません。
-
-
データセットツリー、データセットノード、およびフィールド操作の選択
-
単一のリクエストでの複数のレコードの挿入または削除
-
リクエストボディでクエリパラメーターを送信するための HTTP ヘッダー
content-type: x-www-form-urlencodedの使用
-
-
「基本認証スキーム」のみが記述されたメソッドです。
TIBCO EBX® ドキュメンテーション - 組み込み RESTful サービス