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 Error | RESTリクエスト処理中にエラーが発生しました |
レスポンス
返されるレスポンス (JSON形式) はリクエストによって変わります。
エラーが発生した場合、その内容はレスポンスとともに返されるか、サーバーのレスポンスそのものになります。