Projeto
Neste post, criaremos uma API para a comunicação entre o Frontend, feito em Angular e o Backend feito em C# e banco de dados SQLITE, utilizaremos o padrão API REST. Como ferramenta de desenvolvimento vamos utilizar o Visual Studio Code 2022.
O que é uma API
Uma API (Application Programming Interface) é um conjunto de regras e protocolos que permitem que diferentes softwares se comuniquem e interajam uns com os outros. Ou seja, é uma interface que define como outros programas podem solicitar informações ou executar ações em um determinado sistema.
Uma API do tipo REST utiliza o protocolo HTTP para a comunicação. Desta forma, são utilizados os métodos padrões desta comunicação GET, POST, PUT e DELETE, para realizar operações em recursos que são identificados por URLs.
Criando o projeto da API
Para criação do projeto base da nossa API, utilizaremos uma funcionalidade de criação de projeto do .NET. Utilizando o terminal do Windows, crie uma pasta para o projeto e rode o seguinte comando:
dotnet new webapi -o ContatosApi
Abre esse projeto no Microsoft Visual Studio.
Como padrão, o .NET cria uma API de teste, chamada “WeatherForecast”. Neste projeto não utilizaremos essa API, então vamos excluí-la.
Agora, precisamos criar duas novas pastas no projeto, a primeira chamada “Models” e outra pasta chamada “Data”.
Em um projeto Entity Framework, a pasta "Models" geralmente é usada para armazenar as classes que representam as entidades do modelo de dados que são mapeadas para as tabelas do banco de dados.
A pasta "Data", em um projeto Entity Framework é geralmente usada para armazenar as classes que gerenciam o acesso ao banco de dados. Essas classes são comumente chamadas de "Contextos".
Instalando pacotes necessários
Neste projeto vamos utilizar o Entity Framework com o banco de dados SQLITE, por este motivo precisamos instalar alguns pacotes, podemos instalar utilizando o comandos .NET no terminal, conforme abaixo.
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore
Caso você esteja utilizando o Visual Studio, podemos utilizar o Manage Packages Solution. Basta procurar os três pacotes e realizar a instalação.
Criando a representação da tabela no banco de dados, classe Model
Nós desenvolvemos uma API que oferece um serviço de registro de contatos. Cada contato registrado inclui um nome e um número de telefone. Para armazenar essas informações, criamos uma tabela chamada Contatos, que possui três colunas: Chave Primária, Nome e Telefone. Com o uso do Entity Framework, é fácil criar a tabela simplesmente criando uma classe que represente a estrutura da tabela.
Então na pasta model, vamos criar uma classe com o nome de "Contato" e inserir o código abaixo.
Criando o DbContext
Agora vamos criar a classe DbContext. A classe DbContext é uma das classes mais importantes do Entity Framework, pois é usada para gerenciar o acesso ao banco de dados, sendo responsável por definir quais entidades do modelo de dados serão mapeadas para as tabelas. Isso é feito através da definição de conjuntos de entidades DbSet<T>.
Na pasta Data, vamos criar uma nova classe chamada "ContatoContext", com o seguinte código.
String de Conexão
Abra o arquivo “appsettings.json” e inclua o seguinte código.
Fazendo a migração e update no banco de dados
Agora que as classes de relacionamento e configuração de banco de dados estão criadas, vamos fazer a criação do arquivo de banco de dados. No arquivo “Program.cs” inclua essas linhas de código.
Em seguida abra o terminal Package Manager Console e rode o seguinte comando.
Add-migration Inicial
O comando "add-migration" é muito importante para o Entity Framework, pois, é usado para criar uma nova migração no projeto. Uma migração é um conjunto de alterações no esquema do banco de dados. Com este comando o Entity Framework cria uma classe com as alterações que serão aplicadas ao banco de dados.
Se tudo funcionar sem erros, rode o comando.
Update-database
Esse comando fará a criação do banco de dados, agora você tem um arquivo de banco de dados para utilização.
Criando o Controller da API
Na pasta "Controllers" crie uma nova classe chamada "ContatoControllers.cs", e insera o seguinte código.
A API já está funcionando corretamente. É possível testar a aplicação no "Swagger" ou no "Postman" e visualizar o funcionamento do método GET. No entanto, neste momento a API ainda não é útil, já que o banco de dados está vazio e, portanto, a chamada à API retorna uma lista vazia. É preciso preencher o banco de dados com os dados para que a API comece a fornecer informações úteis.
Fazendo a consulta, a API retorna apenas uma lista vázia.
Métodos do controller
Os métodos que criamos é o método GET, que retorna uma lista de todas as instâncias do banco de dados. Para salvar um registro no banco precisamos criar um método do tipo POST.
Método POST
Dentro da classe "ContatoController", logo abaixo do método GET, vamos criar um novo método.
No inicio do método temos uma sinalização do tipo de método "[HttpPosto]", essa sinalização é importante para que o .NET entende qual o tipo deste método. Com o novo método criado, podemos rodar a aplicação novamente.
Agora quando chamamos o método POST, podemos salvar um novo contato no banco de dados.
E quando chamamos novamente o método GET, a API retorna o resultado com esse novo contato salvo.
Conclusão da Primeira parte
Para esse posto não ficar gigante, dividiremos em duas partes. Na próxima parte vamos concluir o os métodos do controller, incluindo os métodos de Delete, Update e Get de um único registro, e construir o frontend utilizando o Angular, esse frontend vai consumir e salvar informações na API. A integra do projeto está no GitHub no link.
Comentários
Postar um comentário