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

Method

Eu tenho uma dúvida, entendo o que fazem cada um dos métodos (GET, POST, PUT, DELETE...) , mas não entendi ainda o papel que cada um tem quando utilizado.

2 respostas
solução!

Olá, Gabriel! Tudo bem?

Os métodos HTTP são padronizações de ações comuns. Ou seja, é comum que se crie um dado, assim, toda criação de dado é categorizada como um POST. É comum que se faça atualizações de apenas algumas propriedades de um dado, assim, toda atualização parcial é categorizada como um PUT. E assim em diante.

Essas categorizações servem como contratos entre APIs e clientes. APIs definem o que deve ser feito quando se recebe uma requisição do tipo POST, por exemplo. Esse processo inclui pegar os dados do body da requisição, processar esses dados, armazenar, e retornar o que foi armazenado para o cliente como confirmação. Entretanto, se a API recebe um método do tipo GET, ela sequer vai verificar o que está no body, porque ela entende que não precisa disso, um GET está pedindo dados, não enviando.

Dessa forma, uma API tem vários caminhos que são seguidos, dependendo do tipo de requisição que chega. No front-end, nós precisamos específicar qual tipo de requisição será feito, para que a API saiba o que fazer.

No fetch, isso é feito no segundo parâmetro, passando uma string com o nome do método HTTP para uma propriedade chamada method, como você viu. Internamente, o fetch irá resolver isso para que a requisição enviada contenha a informação de qual é o método desejado.

Quando a API receber a requisição, ela verá, por exemplo, que o método HTTP é PUT, e vai entender que deve verificar qual o ID do dado que será atualizado, pegar os novos valores da requisição e atualizar os dados.

Resumidamente, o papel dos métodos no contexto da função fetch é especificar qual caminho a API deve percorrer, e quais dados estão disponíveis na requisição para a API processar.

Era essa sua dúvida? Se não era exatamente isso, pode falar.

Espero ter ajudado!

Era essa minha dúvida sim, esclareceu muito bem! Eu agradeço