Estava desenvolvendo uma API Rest, utilizando para isso o Laravel como backend. Tudo estava correndo muito bem, até que precisamos fazer um teste de edição de dados, utilizando o método HTTP PUT/PACHT e deparamos com um o return $request->all() empty , ou seja, a variável estava vazia, mesmo com o Postman enviando as variáveis contendo dados.
Postman Http Put/Pacht com Variáveis Devidamente Preenchidas
Na imagem abaixo, podemos ver a tela do Postman, utilizando o método Http Put/Pacht e com variáveis devidamente preenchidas, conforme determina os padrões de uma API Rest, seja utilizando Laravel ou outro tecnologia de backend.
Abaixo vemos a function update() Laravel Resource, na qual simplesmente testamos o retorno da varíavel $request->all().
O comando abaixo, para quem trabalha com API Rest e com Laravel, sabe que retornará os dados enviados pelo formulário, ou no nosso caso, enviados pelo Postman.
De forma resumida, a function update() não trata os dados, ela apenas mostra que os dados estão chegando até ela, sendo assim, não faz sentido o retorno da variável $request->all() ter um return empty (um retorno vazio).
Solução para Laravel Request Empty On Test Put Method Postman API Rest
Notamos que ao utilizar o Postman, estamos utilizando a forma de envio de dados form-data.
Antes
form-data
Depois
Então para a solução para Laravel Request Empty On Test Put Method Postman API Rest decidimos utilizar outro método de envio de dados, adotando agora o x-www-form-urlencoded
x-www-form-urlencoded
Pronto solucionado o erro $request->all() empty on Postman test
Como vimos, basta selecionar o método de envio de dados para x-www-form-urlencoded e você terá a solução para Laravel Request Empty On Test Put Method Postman API Rest