fbpx

API

Criando uma API com ASP.Net Core 2.2 e SQLite

Fernando Vezzali
Escrito por Fernando Vezzali
Criando uma API com ASP.Net Core 2.2 e SQLite
Junte-se a nós!

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Para este tutorial usei a versão 2.2.105 do .Net Core:

Como iremos criar a aplicação do zero, o nome da pasta onde ela será instalada também será o nome da aplicação, vamos criar uma pasta chamada “app”. Após criar e entrar na mesma, digite:

mkdir app
cd app
dotnet new webapi

Agora vamos abrir o projeto no Visual Studio Code digitando:

code .

Crie uma pasta chamada “Models” e dentro dela insira uma classe chamada Cliente.cs

Insira o código abaixo na nova classe:

namespace app.Models
{
    public class Cliente
    {
        public int Id { get; set; }
        public string Nome { get; set; }
        public string Telefone { get; set; }
        public string Email { get; set; }
    }
}

Na linha de comando iremos instalar os 4 pacotes:

dotnet add package Microsoft.EntityFrameworkCore.Sqlite 
dotnet add package Microsoft.EntityFrameworkCore.Sqlite.Design 
dotnet add package Microsoft.EntityFrameworkCore.Tools 
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design

Agora iremos gerar o banco de dados e a classe de contexto automaticamente, para isso digite o comando:

dotnet ef dbcontext scaffold "Data Source=local.db" Microsoft.EntityFrameworkCore.Sqlite -o Models -f -c DemoDbContext 

Vamos conectar o contexto com a entidade Cliente, para isso abra o arquivo DemoDbContext.cs e insira a referência abaixo no final:

public DbSet<Cliente> Clientes { get; set; }

Agora iremos usar o Entity Framework para gerar uma migração e atualizar o banco de dados.

dotnet ef migrations add FirstMigration
dotnet ef database update

O próximo passo é criar um novo controller para a entidade cliente, para isso digite:

dotnet-aspnet-codegenerator -p "app.csproj" controller -name ClienteController -api -m app.Models.Cliente -dc DemoDbContext -outDir Controllers -namespace app.Controllers

* Se o comando acima falhar, instale o geradore de código globalmente com o comando:

dotnet tool install --global dotnet-aspnet-codegenerator

O novo controller está recebendo o contexto por injeção de dependência pelo construtor, por causa disso iremos abrir o arquivo startup.cs e acrescentar o contexto ao método ConfigureServices:

services.AddDbContext<Models.DemoDbContext>(options => options.UseSqlite("Data Source=local.db"));

No mesmo arquivo adicione a referência ao namespace do entity framework: using Microsoft.EntityFrameworkCore;

Vamos rodar a aplicação:

dotnet run

Para testar a API, vamos usar o Postman, nossa requisição será para o endereço:

https://localhost:5001/api/cliente

No Postman, crie uma requisição do tipo POST, configure o Body como “raw” e depois “application/json” e envie o segundo JSON:

{
    "Nome":"Fernando",
    "Telefone":"(11)5464654654",
    "Email":"contato@fernandovezzali.com"
}

O ultimo passo é verificarmos se as informações acima foram salvas no banco de dados, para isso podemos enviar uma requisição GET para o mesmo endereço no Postman. O resultado da requisição deve exibir o mesmo JSON, porém este conterá o Id:

Código completo do projeto:
https://github.com/FernandoVezzali/dotnet-core-api-sqlite

Hey,

o que você achou deste conteúdo? Conte nos comentários.

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

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Junte-se a nós!

Entre para a lista VIP

Agora!

Receba conteúdos exclusivos e com prioridade.