Estoy tratando de enviar una DELETE
solicitud con un parámetro de URL usando CURL. Estoy haciendo:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
Sin embargo, el servidor no ve el parámetro id = 3. Intenté usar alguna aplicación GUI y cuando paso la URL como:, http://localhost:5000/locations?id=3
funciona. Realmente preferiría usar CURL en lugar de esta aplicación GUI. ¿Alguien puede señalar lo que estoy haciendo mal?
GET
. QuieroDELETE
y no,GET
y estoy tratando de seguir los estándares de diseño REST adecuados, así que estoy usando DELETE y no GET al eliminar.Felipsmartins es correcto.
Vale la pena mencionar que se debe a que realmente no puede usar la opción -d / - data si no se trata de una solicitud POST. Pero esto todavía es posible si usa la opción -G.
Lo que significa que puedes hacer esto:
Aquí es un poco tonto, pero cuando estás en la línea de comando y tienes muchos parámetros, es mucho más ordenado.
Lo digo porque los comandos de cURL suelen ser bastante largos, por lo que vale la pena hacerlo en más de una línea escapando de los saltos de línea.
Obviamente, esto es mucho más cómodo si usa zsh. Quiero decir cuando necesitas volver a editar el comando anterior porque zsh te permite ir línea por línea. (solo digo)
Espero eso ayude.
fuente
--data-urlencode
agrega los datos a la URL sin excepciones, pero ahora debe combinarlos--get
para que realmente funcione.