APIs – Guia de métodos HTTP comuns
Nós tendemos a tomar métodos HTTP como garantidos. No espaço de desenvolvimento da API, os métodos são semelhantes ao alfabeto – geralmente usados, raramente considerados. Os desenvolvedores de API geralmente usam apenas GET , PUT ou POST , mas o registro oficial HTTP Request Method lista 39 verbos HTTP totais , cada um fornecendo um método para interações avançadas. Neste artigo, analisamos 9 dos mais comuns.
Abaixo, revise 9 métodos HTTP padrão e faça uma análise detalhada do que cada método faz. Lembre-se de que os métodos da API podem ser usados de várias maneiras; portanto, seu caso de uso pode diferir em função.
Métodos de recuperação de recursos
Talvez o mais óbvio dos métodos que discutiremos hoje, GET e HEAD, seja projetado para recuperar um recurso de uma maneira específica. Essa é uma das funcionalidades mais comumente entendidas, bem como algumas das mais usadas.
GET
O método GET foi projetado para solicitar um recurso específico. Em essência, literalmente “obtém” o recurso em questão e é bastante limitado a essa ação. Solicitações GET devem recuperar apenas dados, deixando outros métodos para executar as outras ações transformadoras.
HEAD
HEAD é um método interessante, na medida em que reflete algumas funcionalidades de outro MÉTODO enquanto desbloqueia possibilidades adicionais. HEAD solicita uma resposta GET de um determinado recurso, mas com o corpo da resposta excisado. Embora isso possa parecer simplista demais, ele permite maior flexibilidade e poder para outras extensões de API – por exemplo, você pode passar os cabeçalhos de um recurso para outra solicitação, na tentativa de imitar um ambiente ou situação de solicitação diferente, o que é extremamente útil para testar e solução de problemas.
Métodos de modificação de recursos
Existem muitos métodos que podem alterar fundamentalmente o recurso. Esses métodos podem incluir a localização de um recurso, a substituição de um recurso de destino e até a atualização de atributos sobre o recurso.
PUT
PUT é um pouco o oposto polar de GET. Enquanto GET solicita um recurso específico, PUT coloca esse recurso no diretório remoto. Deve-se observar que PUT pressupõe que o recurso não existe ou que o recurso pode ser substituído – ao usar PUT, todas as representações do recurso de destino serão substituídas pela carga útil.
PATCH
PATCH foi projetado para modificar parcialmente um recurso direcionado. Em outras palavras, enquanto PUT coloca um recurso no serviço de destino, PATCH modifica esse recurso, em vez de substituí-lo. Essa é uma boa maneira de atualizar arquivos ou versões.
DELETE
DELETE é o método mais claro nesta lista porque faz exatamente o que está na lata – DELETE exclui um recurso direcionado. A resposta típica para um método de exclusão é simplesmente responder com um status “OK” – o recurso foi excluído ou não.
POST
O POST afeta os recursos relacionados anexados a um recurso de destino. O POST permite que uma API envie um atributo ou entidade para um determinado recurso; na prática, isso significa que o recurso direcionado recebe um recurso subordinado que faz parte de uma coleção maior. Como exemplo, um uso do POST seria adicionar uma imagem a um recurso – no caso da PetStore, podemos adicionar uma foto que possa ser usada para ajudar a adotar nossos filhotes de abrigo.
OPTIONS
O método OPTIONS altera as diferentes opções de comunicação mantidas pelo recurso de destino. Isso pode ser usado para abrir mais canais de comunicação e trancá-los – por esse motivo, o método OPTIONS deve ser considerado semelhante a uma torneira que pode ser aberta e fechada com relativa granularidade.
Métodos do ambiente de recursos
Nem toda mudança em um recurso precisa ser uma alteração no conteúdo do recurso. Existem dois métodos principais que interagem mais com o ambiente do recurso do que com o próprio recurso.
TRACE
TRACE é um método que executa um teste de retorno de mensagem. Este teste permite observar o caminho para o recurso direcionado, identificando possíveis pontos de falha. Esta é uma ferramenta altamente poderosa, por mais simples que seja, pois reflete o caminho essencial de um recurso.
CONNECT
CONNECT é um método que cria comunicação com um recurso em vez de interagir diretamente com o referido recurso. CONNECT estabelece um túnel para o servidor que retém o recurso de destino.
Conclusão
Os métodos HTTP conduzem as interações fundamentais da API que vemos dia após dia. Compreender esses métodos, sua idempotência e segurança é um passo fundamental para entender o espaço da API com uma apreciação substancialmente mais profunda.
Pressupostos comuns e “entendimento geral” levaram alguns desses métodos e termos relacionados a serem mal interpretados, mal utilizados e mal aplicados. No entanto, com alguns conceitos básicos simples, os conceitos podem ser facilmente aprendidos e compreendidos.
A InterGATE faz sua API, fale conosco!
FONTE: Nordic APIs