エンティティ リソース

システム内の各エンティティは、エンティティ リソースによって表されます。 このリソースは、エンティティの状態の取得、エンティティの作成、更新、または削除に使用できます。

POSTGETHEADPUTDELETE の各メソッドを使用できます。 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 回の呼び出しが行われます。

要求の例:

RequestResponse
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"
    }
}

応答の例:

RequestResponse
HTTP/1.1 201 Created
Location: http://hostname/api/entities/2

GET /api/entities/id

エンティティの状態を含むエンティティ オブジェクトを返します。

要求の例:

RequestResponse
GET http://hostname/api/entities/1
Host: hostname
Accept: application/json

応答の例:

RequestResponse
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 からの応答と同じです。

要求の例:

RequestResponse
GET http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw
Host: hostname
Accept: application/json

PUT /api/entities/identifier/uniqueid

要求で送信された状態でエンティティを更新します。 処理に成功すると、サーバーは 204 No Content で応答します。 要求の本文には、エンティティ オブジェクトとそのエンティティ定義を含める必要があります。 idrelations、および self の各プロパティは無視されるため省略できます。

要求の例:

RequestResponse
PUT http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw
Host: hostname
Content-Type: application/json
{
    "properties":{
        "Property2":43
    },
    "entitydefinition":{
        "href":"http://hostname/api/entitydefinitions/EntityDefinition1"
    }
}

応答の例:

RequestResponse
HTTP/1.1 204 No Content

DELETE /api/entities/identifier/uniqueid

エンティティを削除します。 処理に成功すると、サーバーは 204 No Content で応答します。

要求の例:

RequestResponse
DELETE http://hostname/api/entities/identifier/00amyWGct0y_ze4lIsj2Mw

応答の例:

RequestResponse
HTTP/1.1 204 No Content

PUT /api/entities/id

要求で送信された状態でエンティティを更新します。 処理に成功すると、サーバーは 204 No Content で応答します。 要求の本文には、エンティティ オブジェクトを含める必要があり、すべてのプロパティが必要です。 存在しないプロパティの値は削除されます。 identitydefinitionrelations、および self の各プロパティは無視されるため省略できます。

要求の例:

RequestResponse
PUT http://hostname/api/entities/2
Host: hostname
Content-Type: application/json
{
    "properties":{
        "Property2":43
    },
    "entitydefinition":{
        "href":"http://hostname/api/entitydefinitions/EntityDefinition1"
    }
}

応答の例:

RequestResponse
HTTP/1.1 204 No Content

DELETE /api/entities/id

エンティティを削除します。 処理に成功すると、サーバーは 204 No Content で応答します。

要求の例:

RequestResponse
DELETE http://hostname/api/entities/2

応答の例:

RequestResponse
HTTP/1.1 204 No Content

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、