$method
このパラメーターは、返されたエンティティまたはエンティティセレクションに対して実行する処理を指定するのに使います。
使用可能なシンタックス
シンタックス | 例題 | 説明 |
---|---|---|
$method=delete | POST /Employee?$filter="ID=11"& $method=delete | エンティティまたはエンティティセレクションを削除します |
$method=entityset | GET /People/?$filter="ID>320"& $method=entityset& $timeout=600 | RESTリクエストで定義されたエンティティのコレクションに基づいて、4D Server のキャッシュにエンティティセットを作成します |
$method=release | GET /Employee/$entityset/<entitySetID>?$method=release | 4D Server のキャッシュからエンティティセットを削除します |
$method=subentityset | GET /Company(1)/staff?$expand=staff& $method=subentityset& $subOrderby=lastName ASC | RESTリクエストで定義されたリレートエンティティのコレクションに基づいて、エンティティセットを作成します |
$method=update | POST /Person/?$method=update | 一つ以上のエンティティを更新または作成します |
$method=delete
エンティティまたは (RESTで作成された) エンティティセレクションを削除します
説明
$method=delete
を使ってエンティティ、またはエンティティセレクションを削除します。 たとえば、$filter
を使って定義したエンティティセレクションや、\{dataClass\}(\{key\})
(例: /Employee(22)) のように直接特定したエンティティが対象です。
$entityset/\{entitySetID\}
のようにエンティティセットを呼び出して、そこに含まれるエンティティを削除することもできます。
例題
キーが 22であるエンティティを削除するには、次の RESTリクエストが書けます:
POST /rest/Employee(22)/?$method=delete
$filter を使ったクエリも可能です:
POST /rest/Employee?$filter="ID=11"&$method=delete
$entityset/{entitySetID} で呼び出したエンティティセットを削除する場合は 次のように書きます:
POST /rest/Employee/$entityset/73F46BE3A0734EAA9A33CA8B14433570?$method=delete
レスポンス:
{
"ok": true
}
$method=entityset
RESTリクエス トで定義されたエンティティのコレクションに基づいて、4D Server のキャッシュにエンティティセットを作成します
説明
RESTでエンティティのコレクションを作成した場合、これをエンティティセットとして 4D Server のキャッシュに保存することができます。 エンティティセットには参照番号が付与されます。これを $entityset/\{entitySetID\}
に渡すと、当該エンティティセットにアクセスできます。 デフォルトで、エンティティセットは 2時間有効です。$timeout に値 (秒単位) を渡すことで、有効時間を変更できます。
エンティティセットを作成する際に、$filter
や $orderby
と同時に$savedfilter
や $savedorderby
も使用していた場合には、4D Server のキャッシュからエンティティセットが削除されていても、同じ参照IDで再作成できます。
例題
4D Server のキャッシュに2時間保存されるエンティティセットを作成するには、RESTリクエストの最後に $method=entityset
を追加します:
GET /rest/People/?$filter="ID>320"&$method=entityset
保存時間が 10分のエンティティセットを作成するには、次のように $timeout
に値を渡します:
GET /rest/People/?$filter="ID>320"&$method=entityset&$timeout=600
フ ィルターや並べ替えの情報を保存するには、$savedfilter
や $savedorderby
に true を渡します。
エンティティセットを作成する際には、
$skip
および$top/$limit
は無視されます。
エンティティセットを作成すると、返されるオブジェクトの先頭に __ENTITYSET
という要素が追加され、エンティティセットにアクセスするための URI を提供します:
__ENTITYSET: "http://127.0.0.1:8081/rest/Employee/$entityset/9718A30BF61343C796345F3BE5B01CE7"
$method=release
4D Server のキャッシュからエンティティセットを削除します。
説明
$method=entityset
によって作成したエンティティセットを、4D Server のキャッシュから削除することができます。
例題
既存のエンティティセットを削除します:
GET /rest/Employee/$entityset/4C51204DD8184B65AC7D79F09A077F24?$method=release
レスポンス:
リクエストが成功した場合のレスポンス:
{
"ok": true
}
エンティティセットが見つからなかった場合には、エラーが返されます
{
"__ERROR": [
{
"message": "Error code: 1802\nEntitySet \"4C51204DD8184B65AC7D79F09A077F24\" cannot be found\ncomponent: 'dbmg'\ntask 22, name: 'HTTP connection handler'\n",
"componentSignature": "dbmg",
"errCode": 1802
}
]
}