Retornar JSON como resposta no Laravel

JSON é um dos formatos mais comum e usual para entregas de respostas em aplicações web.

Um dos formatos para entrega de dados na Web é o JSON, comumente implementando para entregas de APIs como uma alternativa ao XML. Além do formato, também é importante definir o HTTP status code, que segue uma convenção e tem diferentes significados.

É possível entregar o JSON apenas com o comando echo, mas isso pode não funcionar corretamente e nem é o recomendado. Devemos definir também o content-type como application/json e informar o HTTP status code como já citado acima.

Para o nosso exemplo, vamos utilizar um array contendo informações de um produto qualquer, mantendo todas as informações a serem convertidas para JSON e prontas para ser entregue.

No código abaixo você confere o trecho de código utilizado para a entrega do JSON, note que utilizamos o método response seguido do método json. No método json passamos como parâmetro o conteúdo na qual desejamos converter e entregar.

Não devemos nos esquecer de utilizar a instrução return, ela é a responsável por garantir que os métodos utilizados imprima o conteúdo na tela.

Perceba que definimos o código 200 no segundo parâmetro do método JSON, informando assim que o servidor recebeu a solicitação, processou e retornou corretamente. Existem vários HTTP status code, como o 404, que informa que o conteúdo ou página não foi encontrado.

public function index()
{
        $data = [
            'product_info' => [
                'name'   => 'Mouse Gamer',
                'price'  => 199.80,
                'amount' => 3
            ],
            'status_order' => 'waiting'
        ];

        return response()->json($data, 200);
}

Uma vez que nossa aplicação esteja retornando o conteúdo em JSON, você pode abrir qualquer cliente para uso de API ou até mesmo o navegador no Modo Desenvolvedor > Network, conferindo e garantido que o content-type seja application/json.

Content type JSON no Laravel com PHP
Content type JSON no Laravel com PHP

Finalizamos mais um artigo, nos vemos no próximo.

 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Deixe um comentário