Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Uso de POST ao invés de GET no exercício

Não entendi por que foi usado o "POST" em vez do "GET" no exercício. No vídeo o professor usou o "POST" em "http://localhost:8000/public/login" e GET em "http://localhost:8000/pedidos". Então o "POST" foi para obter o token e o "GET" para ler os pedidos do usuário.

No exercício usando: POST /pedidos HTTP/1.1 Authorization: <token>

Não entendi o que esse "POST" está fazendo. Ele está enviando qual informação? E se estivesse enviando informação de login não teria que ser enviado para "http://localhost:8000/public/login" em vez de "http://localhost:8000/pedidos"? Só se tivesse enviando uma informação de um novo pedido, daí eu acho que seria enviado por esse caminho, né?

1 resposta
solução!

Você está correto ao perceber que o método POST é geralmente utilizado para criar ou enviar informações, enquanto o GET é mais usado para recuperar dados. Vamos entender a situação em detalhes:

  1. Login e Token de Acesso: No primeiro exemplo com a URL http://localhost:8000/public/login, o POST é utilizado porque estamos enviando as credenciais de login (como nome de usuário e senha). A resposta a esse POST será o token de autenticação, que você usará para autorizar futuras requisições no sistema.

  2. Pedidos (GET): Já em http://localhost:8000/pedidos, o GET é usado para ler ou recuperar informações. Quando você usa o método GET, você está pedindo ao servidor para retornar os pedidos que pertencem ao usuário autenticado.

  3. POST em /pedidos (Criar Novo Pedido): O uso do POST /pedidos com o cabeçalho Authorization: <token> é uma maneira de enviar informações sobre um novo pedido. No caso do exercício, você está criando um pedido e, para isso, está utilizando POST. O token de autorização é enviado no cabeçalho para que o sistema saiba que o pedido está sendo feito por um usuário autenticado.

    Ou seja, nesse caso, o POST está enviando dados sobre um pedido, como o conteúdo do pedido, quantidade, preço, etc. Esse caminho (/pedidos) está relacionado a operações de criação, ou seja, criar novos pedidos. A razão de usar POST aqui é que o método POST é responsável por enviar dados para o servidor e fazer com que ele crie um recurso (neste caso, um novo pedido).

Resumo:

  • POST em /public/login: Envia as credenciais de login para obter um token de autenticação.
  • GET em /pedidos: Recupera os pedidos do usuário (sem enviar dados).
  • POST em /pedidos: Cria um novo pedido, enviando dados sobre ele (usando o token para autenticação).

Portanto, o POST em /pedidos está enviando dados do pedido (como conteúdo do pedido) e não informações de login. Isso seria feito no caminho correto para criar o pedido no sistema.