Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Boas práticas na utilização dos verbos HTTP

Bom dia!

Gostaria de levantar uma discussão...

Frase retirada da AULA 7: "O protocolo HTTP define uma semântica mas o servidor pode ou não obedecer essa semântica!"

Aqui estamos falando da utilização dos verbos HTTP (GET, POST, PUT e DELETE). Cada um dos verbos especifica uma ação a ser executada no servidor; porém, tenho visto durante todo o curso uma observação: "o desenvolvedor pode optar por não utilizar os verbos conforme foram concebidos na implementação da aplicação que fica no servidor".

Isto não seria uma má prática de desenvolvimento (por exemplo, usar POST/GET ao invés de PUT/DELETE para atualizar/deletar)?

Caso não seja, gostaria que exemplificassem algum cenário para que possamos compreender melhor os motivos de se utilizar os verbos HTTP para outras finalidades, que não sejam as propostas por cada um deles.

Obrigado!

4 respostas

Olá, tudo bem ?

No principio a galera apenas usava Get e Post, por esse motivo a semantica foi um pouco perdida, pois desenvolvedores que aprenderam a fazer algo desta maneira acabam passando para os novos da mesma forma que sabem que funciona e tem medo de trocar por algo que não conhecem totalmente.

Seu papel como desenvolvedor é deixar o código da melhor forma possível, para que as manutenções futuras sejam tranquilas.

solução!

Olá.

Com certeza, como melhor prática o ideal é utilizar o verbo correto de acordo com o que for fazer. O servidor interpreta eles diferentemente, apesar de conseguir fazer tudo com GET e POST. Se eles foram criados, é justamente pra deixar tudo mais semântico e facilitar o entendimento. Exemplo: POST de Produto e DELETE de Produto. Só usando POST, teria que mudar o nome da action em algum dos casos. Ou seja, utilizar todos os verbos, além de facilitar, fica mais legível.

O ideal é usar os verbos corretamente, mas há casos onde por questões técnicas ou burocráticas você pode usar apenas alguns verbos.

Por exemplo, vi servidores onde apenas o POST e GET estavam habilitados e a equipe de desenvolvimento não tinha como alterar isso. Em um caso era uma hospedagem web compartilhada, e em outro, um datacenter gerenciado por uma empresa diferente. Nesses casos contornamos o problema usando apenas esses dois verbos para tudo.

Obrigado a todos pelos esclarecimentos.