Olá.
Minha dúvida é a mesma do colega Matheus Ricardo Uihara Zingarelli que também postou sobre essa questão aqui no fórum. Infelizmente não consegui encontrar uma forma de "responder" no mesmo fio criado por ele, então tive que abrir um novo tópico. Mas vou citar a dúvida do colega e a resposta que ele recebeu para elaborar:
O colega perguntou o seguinte:
"Olá.
No exercício proposto, o request enviado a pedidos é o seguinte:
POST /pedidos HTTP/1.1
Authorization: Yes (login)COPIAR CÓDIGO
O recurso "pedidos" retorna os pedidos de um usuário. O correto então não seria utilizar o método GET? Se sim, a alternativa B também deveria ser considerada como correta, mas é marcada como incorreta.
Fiz um teste no Postman e, quando envio uma requisição POST para "pedidos", ele adicionou meus dados de login na base de dados de pedido."
Em resposta, o colega Renan Lima disse o seguinte:
O método GET é utilizado para recuperar informações de um recurso, enquanto o método POST é utilizado para enviar informações para um recurso. No caso do exercício, o objetivo é enviar informações do usuário para o recurso "pedidos", portanto o método POST está correto.
Conquanto o colega Renan possa estar correto em sua afirmação, a dúvida para mim permaneceu.
Isto porque na vídeo aula o professor utilizou o método GET e não o POST, como no exercício proposto.
Eu só posso supor que a diferença está no programa utilizado: no caso da aula, foi o POSTMAN e no caso do exercício o TELNET. Parece-me que ao permitir que o usuário manipulasse o HEADER e inserisse lá a KEY "authorization" e o VALUE com a chave de acesso gerada o método somente de leitura GET foi o suficiente para acessar o recurso de pedidos. Contudo, quando utilizando o TELNET, é preciso a um só tempo requisitar a leitura do recurso de pedidos e informar a chave, portanto, um método somente de leitura não lograria êxito e o uso do POST se fez necessário.
Se não isso, o que justifica a utilização de dois métodos diferentes?
O que me causa espécie é o comportamento do POST no caso relatado pelo Matheus (gravando os dados de login dele na base de dados de pedido). Isso me leva a crer que se tem que cuidar com os métodos conforme se utilize o POSTMAN ou o TELNET.
Por favor, me corrijam, pois estou tendo contato com a matéria pela primeira vez agora. :)
Obrigado.