Entendendo os Principais Verbos HTTP

Postador por : at

Categoria : rest_api


Existem 9 métodos que podemos utilizar em uma API RESTful. Esse conjunto de métodos possui uma semântica de operações possíveis de serem efetuadas sob um determinado recurso. Ou seja vamos ver que o nome do método já nos mostra qual operação que ele irá fazer.

Na especificação original do HTTP existiam apenas três métodos (GET, POST, HEAD). Na revisão 1.1 foram adicionados mais 5 verbos (OPTIONS, PUT, DELETE, TRACE e CONNECT). A RFC 5789 estendeu o HTTP com um novo método PATCH.

Os RFCs cobrem muitos aspectos das redes de computadores, incluindo protocolos, procedimentos, programas e conceitos, bem como notas de reuniões, opiniões e, às vezes, humor. Abaixo estão os links para RFCs, disponíveis em ietf.org e rfc-editor.org

GET

O método GET é utilizado quando existe a necessidade de se obter um recurso, então quando você quer “pegar” dados você utiliza o GET. Ele é considerado idempotente, ou seja, independente da quantidade de vezes que é executado sob um recurso, o resultado sempre será o mesmo, ou seja, o GET não deve modificar dados, somente trazer os dados.

curl www.exemplo.com/cliente/1
curl -X GET www.exemplo.com/cliente/1

Por padrão o curl ja utiliza o GET então vemos na primeira linha ele utilizando o curl seguindo da URL e abaixo vemos que podemos colocar de forma explicita o verbo utilizando o -X GET.

POST

Utilizado para a criação de um recurso a partir do uso de uma representação. Então veja POST na área de programação é sempre gravar ou criar alguma coisa, é por isso que a semântica já nos dá a ideia do que você quer fazer com essa requisição.

curl -X POST www.exemplo.com/cliente \
-H "Content-Type: application/json" \
-d '{"nome":"João"}'

Para utilizar um método POST com curl você usa o -X POST para dizer que você quer chamar uma requisição POST, coloca também o -H "Content-Type: application/json" que adiciona no HEADER da requisição informando-a que o formatos dos dados será JSON para o servidor saber como interpretar os dados ao recebe-lo, e por ultimo você adiciona o “corpo”(BODY) da requisição utilizando o comando-d '{"nome":"João"}' , neste exemplo você estará criando um cliente com nome de João.

PUT

O método PUT é utilizado como forma de atualizar um determinado recurso.

curl -X PUT www.exemplo.com/cliente/1 \
-H "Content-Type: application/json" \
-d '{"nome":"João da Silva"}'

Para utilizar um método PUT com o curl você pode adicionar o -X PUT para dizer que você quer chamar uma requisição de alteração, da mesma forma que o POST você precisa informar no HEADER qual formato de dados você está enviando e um corpo, no caso a diferença entre o POST e o PUT é a URL adicionada, no POST você faz uma requisição para o /cliente enquanto o PUT você precisa falar qual cliente quer atualizar colocando geralmente o id do mesmo na URL /cliente/1 desta forma o servidor buscará o cliente com id=1 e atualizará com as informações você enviou no corpo(BODY) da requisição.

DELETE

O delete tem como finalidade a remoção de um determinado recurso.

curl -X DELETE www.exemplo.com/cliente/1

Na chamada do método adicionamos o -X DELETE e como você quer deletar um recurso você precisar indicar na URL qual o id do recurso a ser apagado /cliente/1.

REST – Conhecendo o modelo

Irei postar um novo artigo para falar do outros cincos verbos que existem no HTTP são eles (PATCH, OPTIONS, HEAD, TRACE, CONNECT). Aguardo vocês lá ^^ .

> Entendedo o Verbos HTTP Menos Utilizados

Fontes: Developers Mozilla, Jackson Pires