Estou tentando enviar uma DELETE
solicitação com um parâmetro de URL usando CURL. Estou fazendo:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
No entanto, o servidor não está vendo o parâmetro id = 3. Tentei usar algum aplicativo da GUI e quando passo o URL como:, http://localhost:5000/locations?id=3
ele funciona. Eu realmente prefiro usar o CURL do que esse aplicativo GUI. Alguém pode apontar o que estou fazendo de errado?
GET
. QueroDELETE
e nãoGET
e estou tentando seguir os padrões de design REST adequados, portanto, estou usando DELETE e não GET ao excluir.Felipsmartins está correto.
Vale ressaltar que é porque você realmente não pode usar a opção -d / - data se essa não é uma solicitação POST. Mas isso ainda é possível se você usar a opção -G.
O que significa que você pode fazer isso:
Aqui é um pouco bobo, mas quando você está na linha de comando e possui muitos parâmetros, é muito mais organizado.
Estou dizendo isso porque os comandos cURL geralmente são bastante longos, por isso vale a pena fazê-lo em mais de uma linha escapando das quebras de linha.
Obviamente, isso é muito mais confortável se você usar o zsh. Quero dizer, quando você precisa reeditar o comando anterior porque o zsh permite que você vá linha por linha. (apenas dizendo)
Espero que ajude.
fonte
--data-urlencode
os dados sejam adicionados ao URL sem exceções, mas agora você precisa combiná-los--get
para que funcionem.