Méthode DELETE (ADO.NET Data Services Framework)
Les listes et exemples suivants décrivent les protocoles employés pour l'utilisation de la méthode DELETE par ADO.NET Data Services. Les autres comportements requis par Hypertext Transfer Protocol, RFC 2616 sont décrits dans Spécifications HTTP courantes (ADO.NET Data Services Framework) et PUT, POST et DELETE (ADO.NET Data Services Framework).
Les protocoles suivants s'appliquent aux demandes HTPP qui utilisent la méthode DELETE.
Si une demande DELETE inclut un corps d'entité, le corps est ignoré et la demande est traitée comme si aucun corps d'entité n'était fourni.
Si l'URI d'une demande DELETE identifie une ressource ADO.NET Data Services inexistante, la demande retourne un code de réponse 404 (Introuvable).
Le résultat d'une méthode DELETE qui aboutit dans le contexte d'une ressource ADO.NET Data Services est que la ressource identifiée par l'URI soumis est supprimé et n'est plus accessible sous cet URI.
Les réponses possibles à une méthode DELETE qui aboutit sont les suivantes :
200 OK, si la réponse inclut une entité décrivant l'état.
202 Accepté, si l'action n'a pas encore été effectuée.
204 Aucun contenu, si l'action a été effectuée mais que la réponse n'inclut pas d'entité.
ADO.NET Data Services doit achever l'action demandée avant de répondre à une demande DELETE. Les actions de suppression qui aboutissent retournent toujours un code d'état 204 (Aucun contenu).
Types qui prennent en charge la méthode DELETE
Les exemples suivants illustrent les éléments finaux, dans la syntaxe d'URL HTTP, et les conditions dans lesquelles les éléments prennent en charge la méthode DELETE. Chaque cas inclut une description d'une demande DELETE et les résultats prévisibles.
Il convient de noter qu'une demande DELETE concernant une ressource qui prend en charge la méthode DELETE peut échouer si l'entité demandeuse ne dispose pas de droits suffisants pour accéder à la ressource spécifiée. Dans ce cas, comme décrit dans Hypertext Transfer Protocol, RFC 2616, la demande retourne un code de réponse 401 (Accès non autorisé) ou 403 (Accès refusé), selon que la spécification d'une autre entité au service de données est susceptible d'entraîner la réussite de la demande.
/<jeu_entités>
L'exemple d'URI suivant illustre un EntitySet en tant qu'élément final.
/Customers
Description :
Ne prend pas en charge la méthode DELETE.
Un point de terminaison d'opération de traitement par lot doit être utilisé pour effectuer plusieurs opérations de suppression dans une même demande.
/<jeu_entités>(keyPredicate)
L'exemple d'URI suivant illustre un keyPredicate en tant qu'élément final.
/Customers('ALFKI')
Description :
Prend en charge la méthode DELETE.
Effectue des suppressions peu profondes de l'instance de type d'entité unique identifiée par le keyPredicate de sorte qu'une demande GET ultérieure concernant le type d'entité ou l'une de ses propriétés retourne un code de réponse 404 (Ressource introuvable).
Des effets secondaires supplémentaires, par exemple des suppressions en cascade, peuvent être obtenus sur d'autres ressources, mais cela n'est pas obligatoire.
/<propriété_navigation> ou /<propriété_lien>
L'exemple d'URI suivant illustre des propriétés et des liens de navigation en tant qu'éléments finaux.
/Customers('ALFKI')/Orders
/Customers('ALFKI')/Orders(1)
/Employee(1)/Manager
Description :
Prend en charge la méthode DELETE uniquement sur des extrémités de relation qui ont une cardinalité égale à 1.
Prend en charge la méthode DELETE si la propriété de navigation ou de lien identifie une ressource unique, autrement dit l'extrémité « à-un » d'une relation.
Utilise la même sémantique que les URI /<jeu_entités>(keyPredicate).
Prend en charge la méthode DELETE.
Effectue des suppressions peu profondes de l'instance de type de ressource unique identifiée par le keyPredicate de sorte qu'une demande GET ultérieure concernant le type de ressource ou l'une de ses propriétés retourne un code de réponse 404 (Ressource introuvable).
Des effets secondaires supplémentaires, par exemple des suppressions en cascade, peuvent être obtenus sur d'autres ressources, mais cela n'est pas obligatoire.
Ne prend pas en charge la méthode DELETE si la propriété de navigation ou de lien identifie de nombreuses ressources, autrement dit l'extrémité « plusieurs » d'une relation.
Un code de réponse 405 (Méthode non prise en charge) est retourné.
/<type_complexe>
L'exemple d'URI suivant illustre un ComplexType en tant qu'élément final.
/Customers('ALFKI')/Address
Description :
Ne prend pas en charge la méthode DELETE.
La suppression d'un ComplexType identifié par la syntaxe d'URI n'est pas une action prise en charge pour ADO.NET Data Services.
/<propriété>
L'exemple d'URI suivant illustre une propriété en tant qu'élément final.
/Customers('ALFKI')/FirstName
Description :
Ne prend pas en charge la méthode DELETE.
La suppression d'une propriété n'est pas une action prise en charge pour ADO.NET Data Services.
/<propriété>/$value
L'exemple d'URI suivant illustre une valeur de propriété en tant qu'élément final.
/Customers('ALFKI')/FirstName/$value
Description :
Prend en charge la méthode DELETE.
Définit la valeur de la propriété à « NULL » si le type de la propriété peut avoir la valeur NULL.
Si le type ne peut pas avoir la valeur NULL, un code de réponse d'erreur est généré.
Les codes de réponse HTTP possibles sont les suivants :
Types pouvant avoir la valeur NULL : 204 (Aucun contenu).
Types ne pouvant pas avoir la valeur NULL : 405 (Méthode non autorisée).
/<nom_opération_service>
L'exemple d'URI suivant illustre un nom d'opération de service et des paramètres de l'opération de service en tant qu'élément final.
/CustomersByCity?city=London
Description :
- Ne prend pas en charge la méthode DELETE.
Voir aussi
Concepts
Méthode PUT (ADO.NET Data Services Framework)
Méthode POST (ADO.NET Data Services Framework)
Méthode DELETE (ADO.NET Data Services Framework)