J'essaye d'envoyer une DELETE
demande avec un paramètre d'url en utilisant CURL. Je fais:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
Cependant, le serveur ne voit pas le paramètre id = 3. J'ai essayé d'utiliser une application GUI et quand je passe l'url en tant que:, http://localhost:5000/locations?id=3
cela fonctionne. Je préférerais vraiment utiliser CURL plutôt que cette application GUI. Quelqu'un peut-il indiquer ce que je fais de mal?
GET
. Je veuxDELETE
et nonGET
et j'essaie de suivre les normes de conception REST appropriées, donc j'utilise DELETE et non GET lors de la suppression.Felipsmartins a raison.
Il est à noter que c'est parce que vous ne pouvez pas vraiment utiliser l'option -d / - data s'il ne s'agit pas d'une requête POST. Mais cela est toujours possible si vous utilisez l'option -G.
Ce qui signifie que vous pouvez faire ceci:
Ici, c'est un peu idiot mais lorsque vous êtes sur la ligne de commande et que vous avez beaucoup de paramètres, c'est beaucoup plus ordonné.
Je dis cela parce que les commandes cURL sont généralement assez longues, donc cela vaut la peine de le faire sur plus d'une ligne en échappant aux sauts de ligne.
C'est évidemment beaucoup plus confortable si vous utilisez zsh. Je veux dire quand vous devez rééditer la commande précédente parce que zsh vous permet d'aller ligne par ligne. (juste en disant)
J'espère que ça aide.
la source
--data-urlencode
ajoute les données à l'URL sans exception, mais maintenant vous devez les combiner avec--get
pour que cela fonctionne réellement.