Se você estava lá no seu trabalho e teve uma hora que seu chefe pediu para criar uma api para outras pessoas utilizarem ou até mesmo fazer um app .

Bate a dúvida , como criar essas api’s dentro do Laravel ?

Se você não sabe como começar , veio ao lugar certo !!

Hoje nesse post vou te ensinar a como trabalhar com api dentro do laravel e deixar a sua aplicação bem organizada .

Primeiro de tudo preciso que entenda que dentro do Laravel há diversas formas de você criar um api . Vou te ensinar com boas práticas e não com sujeiras .

#Começo de tudo

Como já falei em posts anteriores , o laravel trabalha muito com o conceito de artesão .

O Laravel faz com que você se torne um artista do seu código .

Se você fosse um pintor teria que desenhar algo legível e que todos pudessem entender , na programação é a mesma coisa .

Primeiramente você precisa entender como funciona e deixar de forma organizada .

resource-1

Sempre costumo criar uma pasta específicas somente para as minhas api’s .

Observe que na foto acima que os meus controllers ficam normais , eu não costumo criar pasta pra cada controller que vou fazer .

Preciso que você entenda uma diferença antes de sair criando api . Há duas formas de utilizar o resource , uma através das collections e outra de forma normal .

Para gerar uma classe de recurso, você pode usar o comando Artisan. Por padrão, os recursos serão colocados no diretório do seu aplicativo. Os recursos estendem a classe:make:resourceapp/Http/ResourcesIlluminate\Http\Resources\Json\JsonResource

php artisan make:resource User

Coleções de Recursos

Além de gerar recursos que transformam modelos individuais, você pode gerar recursos responsáveis ​​pela transformação de coleções de modelos. Isso permite que sua resposta inclua links e outras meta informações relevantes para uma coleção inteira de um determinado recurso.

Para criar uma coleção de recursos, você deve usar o --collectionsinalizador ao criar o recurso. Ou, incluir a palavra Collectionno nome do recurso indicará ao Laravel que ele deve criar um recurso de coleção. Os recursos de coleção estendem a classe:Illuminate\Http\Resources\Json\ResourceCollection

php artisan make:resource Users --collection

php artisan make:resource UserCollection

Antes de mergulhar em todas as opções disponíveis ao escrever recursos, vamos primeiro examinar como os recursos são usados ​​no Laravel. Uma classe de recurso representa um único modelo que precisa ser transformado em uma estrutura JSON. Por exemplo, aqui está uma Userclasse de recurso simples :

resource-2

#Outros Exemplos :

resource-3

Acima está um exemplo a qual utilizei o resource para criar uma api de todos os pagamentos envolvidos no sistema .

Observe que acima possui duas linhas com as seguintes tags :

use App\Models\Payment;
use App\Http\Resources\PaymentResource;

Dentro do nosso resources vemos como montamos :

resource-4

A forma que construí eu defini que só podia vim isso que foi colocado na lista .

Se eu deixar sem nenhum parâmetro como fiz acima , ele trará todos os dados referentes as informações contidas no banco , talvez você não queira trazer tudo , então você pode definir quais campos precisam vim .

Passamos isso dentro do nosso Controller/api/payment

e logo começará a funcionar sem precisar criar códigos gigantescos pra trazer somente dados .

Como disse no começo , a construção de api pode variar e ser criado de outras formas .

Eu criei um vídeo alguns tempos atrás na qual eu construo a api de forma rápida e sem utilizar o resource .

Veja abaixo :

#Conclusão :

Dessa forma criamos nossa api de forma elegante e performática . O que você achou ? Utiliza muito o Resouce para a sua aplicação ?

Fontes : https://laravel.com/docs/7.x/eloquent-resources#introduction

Se você não conhece os nossos cursos , confira aqui


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *