Salut,
Existe-t-il une raison pour laquelle le verbe DELETE ne prend pas en charge le corps de la demande dans la version 2.2.0 ?
Dans la version 1.1.15, j'ai pu envoyer le corps de la requête en tant que paramètre.
Version Python :
3.6.7
version de connexion :
2.2.0
Merci!
La spécification indique que l'URI devrait être suffisant pour effectuer l'opération de suppression.
La méthode DELETE demande que le serveur d'origine supprime la ressource identifiée par le Request-URI
Il n'est pas expressément interdit d'inclure un corps de requête, mais il est généralement admis que vous ne le faites pas. J'ai l'impression que c'est la même raison pour laquelle ici.
Je vois, merci pour l'explication !
Je pense qu'il devrait au moins être configurable puisque cela fonctionnait sur les versions antérieures.
de toute façon, je peux contourner ce problème en utilisant:
request = connexion.request.json
Une RFC plus récente est plus explicite sur le comportement de la charge utile :
https://tools.ietf.org/html/rfc7231#section -4.3.5
Une charge utile dans un message de demande DELETE n'a pas de sémantique définie ;
Le lien a été fourni à partir de cette question Stackoverflow :
https://stackoverflow.com/questions/299628/is-an-entity-body-allowed-for-an-http-delete-request
J'ai rarement vu un corps en suppression, le seul exemple que j'ai en tête est celui-ci :
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#delete -job-v1-batch
Lorsque nous supprimons une tâche Kubernetes, nous pouvons mentionner certaines options de suppression.
Même s'il est admis que nous ne le faisons pas, cela pourrait-il avoir du sens de l'autoriser dans le cadre ?
Commentaire le plus utile
Je vois, merci pour l'explication !
Je pense qu'il devrait au moins être configurable puisque cela fonctionnait sur les versions antérieures.
de toute façon, je peux contourner ce problème en utilisant:
request = connexion.request.json