次の方法で共有


DELETE メソッド (ADO.NET Data Services フレームワーク)

次のリストと例では、ADO.NET Data Services による DELETE メソッド使用のためのプロトコルについて説明しています。「Hypertext Transfer Protocol, RFC 2616」で必要とされているその他の動作については、「一般的な HTTP 要件 (ADO.NET Data Services フレームワーク)」および「PUT、POST、および DELETE (ADO.NET Data Services フレームワーク)」で説明しています。

次のプロトコルは、DELETE メソッドを使用する HTTP 要求に適用します。

  • DELETE 要求にエンティティ ボディが含まれる場合、ボディは無視され、エンティティ ボディが提供されていないかのように要求が処理されます。

  • DELETE 要求の要求 URI に、存在しない ADO.NET Data Services リソースが指定されている場合、要求に対して応答コード "404 見つかりません" が返されます。

  • ADO.NET Data Services リソースに DELETE メソッドが正常に実行された場合、送信された URI により指定されたリソースが削除され、その URI で利用できなくなります。

  • DELETE メソッドが正常に完了した場合、次の応答を受け取ることが考えられます。

    • 応答にステータスを記述するエンティティが含まれる場合、"200 OK"。

    • 操作がまだ実行されていない場合、"202 受理されました"。

    • 操作が実行されたものの、応答にエンティティが含まれない場合、"204 コンテンツなし"。

  • ADO.NET Data Services は、DELETE 要求に応答する前に、要求された操作を完了する必要があります。削除操作が正常に実行されると、必ずステータス コード "204 コンテンツなし" が返されます。

DELETE メソッドをサポートする型

次の例は、HTTP URL パス構文の終了要素、およびそれらの要素が DELETE メソッドをサポートする条件を示しています。各ケースには、DELETE 要求の説明および予測可能な結果が含まれます。

指定のリソースに対する十分な権限が要求側の原則にない場合、DELETE メソッドをサポートするリソースに対する DELETE 要求は失敗する可能性があることに注意してください。この場合、「Hypertext Transfer Protocol, RFC 2616」に記載されているように、データ サービスに別の原則を指定することにより要求を成功させることができるかどうかにより、要求に対して応答コード "401 権限がありません" または "403 アクセス不可" が返されます。

/<EntitySet>

次の URI の例は、EntitySet を終了要素として示しています。

/Customers

説明 :

  • DELETE メソッドがサポートされていません。

  • 1 つの要求で複数の削除操作を実行するには、バッチ操作のエンドポイントを使用する必要があります。

/<EntitySet>(keyPredicate)

次の URI の例は、keyPredicate を終了要素として示しています。

/Customers('ALFKI')

説明 :

  • DELETE メソッドをサポートします。

  • keyPredicate によって指定された 1 つのエンティティ型インスタンスのシャロー削除を実行し、エンティティ型またはプロパティの 1 つに対する後続の GET 要求で応答コード "404 リソースが見つかりません" が返されるようにします。

  • たとえば、連鎖削除などの追加副作用をその他のリソースに実行できますが、必須ではありません。

次の URI の例は、ナビゲーション プロパティおよびナビゲーション リンクを終了要素として示しています。

/Customers('ALFKI')/Orders
/Customers('ALFKI')/Orders(1)
/Employee(1)/Manager

説明 :

  • 基数が 1 のリレーションシップの終わりに対する DELETE メソッドのみをサポートします。

  • ナビゲーション プロパティまたはリンク プロパティが単一リソース (つまり、リレーションシップの最後が 1 つ) を指定する場合に DELETE メソッドをサポートします。

  • /<EntitySet>(keyPredicate) の URI と同じセマンティクスを使用します。

    • DELETE メソッドをサポートします。

    • keyPredicate によって指定された 1 つのリソース型インスタンスのシャロー削除を実行し、リソース型またはプロパティの 1 つに対する後続の GET 要求で応答コード "404 リソースが見つかりません" が返されるようにします。

    • たとえば、連鎖削除などの追加副作用をその他のリソースに実行できますが、必須ではありません。

  • ナビゲーション プロパティまたはリンク プロパティが複数リソース (つまり、リレーションシップの最後が複数) を指定する場合に DELETE メソッドがサポートされません。

  • 応答コード "405 サポートされていないメソッド" が返されます。

/<ComplexType>

次の URI の例は、ComplexType を終了要素として示しています。

/Customers('ALFKI')/Address

説明 :

  • DELETE メソッドがサポートされていません。

  • ADO.NET Data Services では、URI 構文によって指定される ComplexType を削除する操作はサポートされていません。

/<Property>

次の URI の例は、プロパティを終了要素として示しています。

/Customers('ALFKI')/FirstName

説明 :

  • DELETE メソッドがサポートされていません。

  • ADO.NET Data Services では、プロパティを削除する操作はサポートされていません。

/<Property>/$value

次の URI の例は、プロパティ値を終了要素として示しています。

/Customers('ALFKI')/FirstName/$value

説明 :

  • DELETE メソッドをサポートします。

  • プロパティの型を null に設定できる場合、プロパティの値を null に設定します。

  • 型を null に設定できない場合は、エラーの応答コードが生成されます。

  • HTTP 応答コードには、次のものがあります。

    • null に設定できる型 : 204 (コンテンツなし)。

    • null に設定できない型 : 405 (許可されていないメソッド)。

/<ServiceOperationName>

次の URI の例は、serviceOperationName とサービス操作のパラメータを終了要素として示しています。

/CustomersByCity?city=London

説明 :

  • DELETE メソッドがサポートされていません。

参照

概念

PUT メソッド (ADO.NET Data Services フレームワーク)
POST メソッド (ADO.NET Data Services フレームワーク)
DELETE メソッド (ADO.NET Data Services フレームワーク)