エンティティ リソース
システム内の各エンティティは、エンティティ リソースによって表されます。 このリソースは、エンティティの状態の取得、エンティティの作成、更新、または削除に使用できます。
POST
、GET
、HEAD
、PUT
、DELETE
の各メソッドを使用できます。 LOCK
および UNLOCK
の各メソッドはサポートされなくなりました。
POST /api/entities
新しいエンティティを追加します。 関連付けられたエンティティ定義リソースへのリンクが必要です。 self
プロパティは無視されるため省略できます。 要求の本文には、id
または identifier
を含めることができます。 この場合、要求は UPSERT の可能性があるものとして扱われます。 エンティティの存在がチェックされ、存在する場合は、提供された本文の要素に基づいてエンティティが更新されます。
処理に成功すると、201 Created response
が返されます。この場合、Location
ヘッダーには、新しく作成されたリソースの URL が含まれます。 UPSERT 機能がトリガーされた場合、応答は提供された情報に応じて変化します。 id
が存在する場合、ヘッダーには通常の POST 応答と同じ Location
プロパティが含まれます。 identifier
が使用されているヘッダーには、更新された識別子を値として持つ X-Global-Identifier
プロパティが含まれます。
ヒント: リレーションがネストされていない限り、エンティティの作成中にリレーションを設定することはできません。 また、この機能は REST API を介してのみ利用可能であり、Web クライアント SDK を介して利用することはできません。 ネストされていないリレーションの場合、更新されるリレーションごとに 1 回の呼び出しが行われます。
要求の例:
POST http://hostname/api/entities
Host: hostname
Content-Type: application/json
{
"properties":{
"Property1":"Some value",
"Property2":42
},
"relations": {
"FinalLifeCycleStatusToAsset": {
"parent": {
"href": "http://hostname/api/entities/{id}"
}
}
},
"entitydefinition":{
"href":"http://hostname/api/entitydefinitions/EntityDefinition1"
}
}
応答の例:
HTTP/1.1 201 Created
Location: http://hostname/api/entities/2
GET /api/entities/id
エンティティの状態を含むエンティティ オブジェクトを返します。
要求の例:
GET http://hostname/api/entities/1
Host: hostname
Accept: application/json
応答の例:
HTTP/1.1 200 OK
Content-Length: content length
Content-Type: application/json; charset=utf-8
ETag: "hash string"
{
"id":100,
"identifier": "00amyWGct0y_ze4lIsj2Mw",
"properties":{
"Property1":"Some value",
"Property2":42
},
"relations":{
"Parent":{
"href":"http://hostname/api/entities/1/relations/Parent"
}
},
"self":{
"href":"http://hostname/api/entities/1"
},
"entitydefinition":{
"href":"http://hostname/api/entitydefinitions/EntityDefinition1"
}
}
GET /api/entities/identifier/uniqueid
一意の識別子によってエンティティを取得します。 応答は、GET /api/entities/id からの応答と同じです。
要求の例:
GET http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw
Host: hostname
Accept: application/json
PUT /api/entities/identifier/uniqueid
要求で送信された状態でエンティティを更新します。 処理に成功すると、サーバーは 204 No Content
で応答します。 要求の本文には、エンティティ オブジェクトとそのエンティティ定義を含める必要があります。 id
、relations
、および self
の各プロパティは無視されるため省略できます。
要求の例:
PUT http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw
Host: hostname
Content-Type: application/json
{
"properties":{
"Property2":43
},
"entitydefinition":{
"href":"http://hostname/api/entitydefinitions/EntityDefinition1"
}
}
応答の例:
HTTP/1.1 204 No Content
DELETE /api/entities/identifier/uniqueid
エンティティを削除します。 処理に成功すると、サーバーは 204 No Content
で応答します。
要求の例:
DELETE http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw
応答の例:
HTTP/1.1 204 No Content
PUT /api/entities/id
要求で送信された状態でエンティティを更新します。 処理に成功すると、サーバーは 204 No Content
で応答します。 要求の本文には、エンティティ オブジェクトを含める必要があり、すべてのプロパティが必要です。 存在しないプロパティの値は削除されます。 id
、entitydefinition
、relations
、および self
の各プロパティは無視されるため省略できます。
要求の例:
PUT http://hostname/api/entities/2
Host: hostname
Content-Type: application/json
{
"properties":{
"Property2":43
},
"entitydefinition":{
"href":"http://hostname/api/entitydefinitions/EntityDefinition1"
}
}
応答の例:
HTTP/1.1 204 No Content
DELETE /api/entities/id
エンティティを削除します。 処理に成功すると、サーバーは 204 No Content
で応答します。
要求の例:
DELETE http://hostname/api/entities/2
応答の例:
HTTP/1.1 204 No Content