Como testar um método RESTful PUT (ou DELETE) usando curl?
412
Usando o -X
sinalizador com o verbo HTTP que você deseja:
curl -X PUT -d arg=val -d arg2=val2 localhost:8080
Este exemplo também usa o -d
sinalizador para fornecer argumentos com sua solicitação PUT.
GET
redirecionamento após, adicione o parâmetro--location
Resposta rápida:
Em uma única linha, o comando curl seria:
a) Se estiver enviando dados do formulário:
b) Se estiver enviando dados brutos como json:
c) Se estiver enviando um arquivo com uma solicitação POST:
Solução alternativa:
Você pode usar o aplicativo POSTMAN da Chrome Store para obter a solicitação cURL equivalente. Isso é especialmente útil ao escrever solicitações mais complicadas.
Para a solicitação com outros formatos ou para diferentes clientes como java, PHP, você pode conferir o POSTMAN / comment abaixo.
fonte
Um exemplo de PUT após o comentário de Martin C. Martin:
Com
-T
(igual a--upload-file
), o curl usará PUT para HTTP.fonte
-T
não substitui-X PUT
se você deseja especificar parâmetros com-d
ou-F
.-T
envia o conteúdo de um arquivo via PUT. Para obter oGET
redirecionamento após, adicione o parâmetro--location
Onde,
X - opção a ser usada para o comando request
d - opção a ser usada para colocar dados em url remoto
URL_PATH - URL remoto
new_value - valor que queremos colocar na chave do servidor
fonte
Estou atrasado para esta discussão, mas eu também tinha um requisito semelhante. Como meu script estava construindo a solicitação de ondulação dinamicamente, eu queria uma estrutura semelhante do comando em GET, POST e PUT.
Aqui está o que funciona para mim
Para solicitação PUT :
Para solicitação POST :
Para solicitação GET :
fonte