メインコンテンツまでスキップ
バージョン: 18

RESTリクエストについて

RESTリクエストでは次の構文がサポートされています:

URIリソース{サブリソース}{クエリ文字列}
http://{servername}:{port}/rest/{dataClass}/{attribute1, attribute2, ...}/
{dataClass}/{attribute1, attribute2, ...}/{method}
$entityset/{entitySetID}
?$filter
{attribute}/?$compute
{dataClass}({key})/{attribute1, attribute2, ...}/
{dataClass}:{attribute}(value)
$catalog
$directory
$info

RESTリクエストには、URI とリソースが必ず含まれていなければなりませんが、返されるデータをフィルダーするサブリソースの使用は任意です。

すべての URI と同様に、先頭パラメーターは "?" に続けて指定し、それ以降のパラメーターは "&" で区切ります。 例:

GET /rest/Person/?$filter="lastName!=Jones"&$method=entityset&$timeout=600

曖昧さ回避のため、値は引用符内に書くことができます。 たとえば、上の例では名字 (lastName) の値を単一引用符内に書けます: "lastName!='Jones'"。

パラメーターを利用することで、4Dプロジェクトのデータクラスのデータを操作できます。 GET HTTPメソッドを使ってデータを取得する以外にも、POST HTTPメソッドを使ってデータクラスのエンティティを追加・更新・削除することが可能です。

JSON の代わりに配列形式でデータを取得するには $asArray パラメーターを使います。

RESTステータスとレスポンス

各 RESTリクエストに対し、サーバーはステータスとレスポンス (エラー付き、またはエラー無し) を返します。

リクエストステータス

RESTリクエストをおこなうと、レスポンスとともにステータスが返されます。 主なステータスをいくつか紹介します:

ステータス説明
0リクエストは処理されませんでした (サーバー未起動の可能性)
200 OKリクエストはエラーなく処理されました
401 Unauthorized権限エラー (ユーザーのアクセス権限を確認する必要があります)
402 No sessionセッションの最大数に達しています
404 Not Foundデータクラスが REST に公開されていないか、エンティティが存在しません
500 Internal Server ErrorRESTリクエスト処理中にエラーが発生しました

レスポンス

返されるレスポンス (JSON形式) はリクエストによって変わります。

エラーが発生した場合、その内容はレスポンスとともに返されるか、サーバーのレスポンスそのものになります。