Laravel Request Empty On Test Put Method Postman API Rest

Laravel Request Empty On Test Put Method Postman API Rest Vs Code Update_Resource Funcions.png

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).

Laravel Request Empty On Test Put Method Postman API Rest Vs Code Update_Resource Funcions.png

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
Solução Laravel Request Empty On Test Put Method Postman API Rest Vs Code Update Resource Funcions

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