Fala, pessoal! Tudo bem? Hoje trago para vocês um pouco sobre o NestJS. Ele é um framework, que tem como base o Node.js e o Typescript, e está fazendo cada vez mais sucesso no mercado.
Por isso, hoje trago alguns pontos que o Nest mais se destaca, e que também, podem fazer sentido para sua aplicação!
Um pouco sobre o NestJS
Segundo a própria documentação, o Nest tem o propósito de ser eficiente e altamente escalável para sua aplicação. Isso porque ele permite uma estrutura pensada para criar um servidor ou uma API para sua aplicação com vários recursos pré configurados.
Apesar de ser possível usar o Javascript no Nest, ele foi pensado em Typescript.
Um dos motivos para isso é por ele implementar, em praticamente 100% dele, conceitos de OOP (Programação orientada a objetos) e FRP (Programação reative funcional), pois todos esses conceitos são melhor aplicáveis usando o TypeScript:
Controllers do NestJS
Um dos principais recursos do NestJS é sua estrutura para Controllers.
Os mesmos lidam apenas com solicitações recebidas, e por sua vez, devolvem as “respostas” para o cliente.
Esses controladores se dividem em responsabilidades, e os mesmo podem ter mais de uma rota que executa funções diferentes.
Para criar um controlador, o Nest inicia um projeto já com um exemplo, e os mesmos, são feitos com classes e decorators.
Os decorators associam as classes aos dados necessários, e por fim, criam a rota. Veja esse exemplo onde o mesmo tem o objetivo de retornar todos os “gatos” da aplicação:
Em outras palavras, o seu servidor na rota “…/cats” usando o método “get”, retorna a todos os “gatos”.
Providers do NestJS
Os providers são um conceito fundamental do Nest.
Os providers, segundo os próprios desenvolvedores do Nest, tem como ideia principal a de os injetarmos como uma dependência das classes. Ou seja, todos os objetos podem fazer relacionamentos com outros vários objetos:
Services do NestJS
Conhecendo agora os controllers e os services do Nest, chegou a hora de criarmos o primeiro service.
No caso a seguir, o service vai criar os métodos “create” e “findAll”, respectivamente, para criar e achar os “gatos” que foram criados no array acima:
No exemplo, você pode perceber que a criamos com o parâmetro “Injectable”. Isso porque o mesmo vai permitir que nós “injetemos” essa classe em um controller, por exemplo, para então, ter acesso aos services da aplicação.
O resultado, com os services já implementados, seria algo do tipo:
Conclusão
É possível concluir que o Nest é um framework que permite que sua aplicação seja altamente escalável.
Ao criar um novo projeto com ele, o mesmo, já configura todo o processo de controllers e services, usando módulos do próprio framework.
Para você começar a usá-lo também, é muito simples.
Basta você instalar a CLI do Nest, com o comando “npm i -g @nestjs/cli”, em seguida basta criar um projeto novo com ela, usando “nest new nome-do-projeto”.
Espero que esse artigo tenha te ajudado e até a próxima!