Se você leu nossos artigos sobre API, já sabe que estas interfaces facilitam (e muito) a implementação de aplicações. Isso porque elas permitem que uma aplicação acesse funcionalidades de outra sem precisar conter em seu código a infraestrutura para aquela funcionalidade.
Mas, se a existência de APIs facilita a vida dos desenvolvedores, a criação de uma pode inspirar medo em muitos deles, que temem a complexidade ou a magnitude da tarefa.
Felizmente, hoje temos ferramentas que agilizam esse processo a tal ponto que é possível completá-lo numa questão de minutos. É o caso do Strapi.
Continue lendo este artigo para descobrir como essa ferramenta pode te ajudar a criar APIs rapidamente e sem estresse.
O Strapi é um Serviço de Gerenciamento de Conteúdo (Content Management Service, ou CMS, em inglês) open-source e headless. Ele permite ao usuário criar APIs de alta qualidade em Javascript, tudo através de uma interface gráfica do usuário, simples e direta.
O serviço permite otimizar o tempo de implementação de uma aplicação ao reduzir os esforços necessários para a construção de uma API. Apesar disso, não deixa de oferecer uma vasta gama de opções de personalização da aplicação conforme as necessidades do seu projeto.
O Strap item suporte a APIs RESTful e a GraphQL. Além disso, também é compatível com bancos de dados SQL e NoSQL.
Neste tutorial você aprenderá como construir uma API do zero utilizando o Strapi. O processo levará poucos minutos e ao final você terá uma API plenamente funcional e pronta para responder chamadas de outras aplicações.
Confira o passo a passo:
Para que o Strapi funcione corretamente, é necessário que você tenha instalada a versão 9 ou superior do Node.js no seu computador.
Além dele, é necessário ter instalada a versão 2.6 ou superior do MongoDB. O processo também pode ser reproduzido utilizando um container do Docker com o MongoDB instalado.
Após garantir que tem todos os pré-requisitos para o funcionamento do Strapi, é hora de baixá-lo e instalá-lo. Para isso, insira o seguinte comando em uma instância do Terminal:
npm install strapi@alpha -g
Após a conclusão, verifique a integridade da instalação usando o comando de consulta da versão do Strapi. Para isso, insira no Terminal o comando:
strapi -v
Caso o retorno do comando seja o número da versão, você saberá que o Strapi foi instalado corretamente. Ele poderá então ser acessado através do path “strapi”.
Após instalar o Strapi, é necessário configurá-lo. Suba a imagem do Docker com o MongoDB utilizando o comando:
docker run --name testemongo -p 27017:27017 -d mongo
Caso o MondoDB esteja instalado diretamente no seu computador, você pode subir o serviço localmente.
Após a etapa de configuração do Docker, chegamos ao momento da criação da API.
Insira no seu Terminal o seguinte comando, já nomeando o seu projeto:
strapi new ProjetoExemplo
O Strapi permitirá que você selecione algumas configurações básicas do seu projeto. Escolha o MongoDB como banco de dados principal e forneça as informações necessárias para conexão à instância.
Para iniciar a aplicação, primeiro acesse a pasta onde está armazenado o projeto que você criou. Você pode fazer isso inserindo o seguinte comando no seu Terminal:
cd ProjetoExemplo
Agora inicie a aplicação utilizando o comando:
strapi start
Feito isso, basta acessar a aplicação. Para conexões locais, como será o seu caso se estiver seguindo este tutorial à risca, o endereço é:
http://localhost:1337/admin
No primeiro acesso à aplicação, você precisará criar uma conta de administrador. O Strapi pedirá que você informe um nome de usuário (username), senha (password), confirmação da senha (confirm password), e o seu email.
Após informar os dados, sua conta será criada e você terá acesso e controle sobre o painel de administração do serviço.
Agora começaremos a construir nossa API. Começaremos criando a primeira entidade. Para isso, clique em Plugins, depois em Content Type Builder e por fim em Add Content Type Builder.
Na aba de configurações básicas, daremos à entidade o nome de Produto (no singular). Na aba de configurações avançadas, insira o nome Produtos (no plural).
Não esqueça de clicar no botão Save para gravar suas alterações.
Para atribuir propriedades à entidade que acabamos de criar, é necessário clicar no botão Add New Field, dentro da página da entidade criada — neste caso, Produto.
Após adicionar o novo campo, isto é, a nova propriedade da entidade, você poderá nomeá-la e definir seu tipo.
Neste tutorial, a primeira propriedade criada será chamada de Nome e será do tipo String. Na aba Advanced Settings, você poderá alterar configurações como a obrigatoriedade do campo e os limites de caracteres, dentre outras coisas.
Em seguida, adicionamos a segunda propriedade, que chamaremos de Preço e cujo tipo será Number. Este tipo tem subtipos, e para os fins deste tutorial escolheremos o subtipo Decimal na opção Number Format.
Esta propriedade também será de caráter obrigatório e contará com valores mínimos para a informação.
Por último, determinaremos um relacionamento entre cada produto e um usuário, isto é, atribuiremos um usuário a cada produto. Isso é feito escolhendo a opção Relation no menu exibido ao clicar em Add New Field.
Na aba Define Relation, informe a entidade com que se deseja relacionar o Produto e informe no campo Field Name a propriedade das entidades que determinam a relação. Depois, basta escolher o tipo de relação entre as entidades.
No caso do exemplo, Produto has and belongs to one User, ou seja, um Produto está associado a um usuário e pertence a ele.
Para adicionar um Produto, continuamos até a página Produtos e clicamos em Add New Produto.
Preencha as informações da Entry e clique em salvar para guardar o Produto criado.
Chega a hora de testar a API. Neste tutorial, o teste será realizado com o auxílio do Insomnia.
Faça login na aplicação para acessar seus endpoints. Para o teste, será necessário coletar o token JWT e inserí-lo no cabeçalho das requisições.
Caso você deseje estabelecer controles de acesso a informações ou recursos, o procedimento é muito simples.
Você precisa acessar o painel administrativo e seguir até a seção Roles & Permissions.
Nessa tela, você poderá criar novas regras e editar as 3 regras padrões existentes, que já vêm pré-configuradas no projeto.
Ao terminar suas alterações, basta clicar em salvar e testar sua API. Ela estará pronta e disponível em toda a sua completude para ser usada nos mais diversos projetos.
Com esse passo a passo em mãos, e com a ajuda da Strapi, fica muito mais fácil criar sua própria API, certo? Conta pra gente o que você achou!