Skip to content

1. Gerando template

MinimalAPI é uma estrutura nova de requisição para API REST introduzida no .NET 8 que nos auxilia a criar API RESTs mais rápido utilizando uma implementação simples mas eficiente.

Essa nova estrutura ajuda a construir mais rapidamente APIs REST em .NET para uma arquitetura em Microserviços, diminuindo a necessidade de uma estrutura mais robusta para processos simples.


  1. Cheque a versão do seu .NET com o seguinte comando:

    Verificando versão no Terminal
    dotnet --version
  2. Rode o seguinte comando no seu terminal:

    Criando um projeto MinimalAPI template
    dotnet new web -n MinimalProject
  3. Acesse o seu novo template criado:

    Acessando diretório do projeto
    cd MinimalProject

  1. Inicie o Visual Studio sem vinculo a um projeto, clique em Create a new project
  2. Selecione a opção de projeto ASP.NET Core Empty
  3. Configure o nome do seu projeto e o nome da solution
  4. Defina a versão do .NET, preferencialmente da versão 8 ou maior
  5. Ele vai criar automaticamente e vai mostrar a home page e seus arquivos a direita

O comando dotnet new web irá criar um projeto template com uma rota de exemplo, sendo definida no arquivo Program.cs

Dentro do diretório terá a seguinte estrutura:

  • DirectoryProperties/
    • launchSettings.json
  • Directoryobj/
  • Program.cs
  • MinimalProject.csproj
  • appsettings.Development.json
  • appsettings.json

Um pouco de informação de cada arquivo:

  • properties/launchSettings.json → Utilizado no .NET Core para configurar como o projeto será iniciado durante o desenvolvimento (quando rodamos o projeto no Visual Studio ou pelo comando dotnet run pelo terminal.
  • obj/ → É um diretório gerado automaticamente pelo .NET durante o processo de compilação do projeto (dotnet build). Ele guarda arquivos temporários usados pelo compilador, serve como um cache para acelerar builds futuros. Deve ser ignorado pelo .gitignore para evitar de ser enviado para o repositório externo, pode ser deletado também porque ele é recriado sempre que rodar um build.
  • Program.cs → Este é o arquivo ponto de entrada de um projeto .NET, é onde a aplicação começa a rodar. Neste arquivo é definido como a aplicação será inicializada e todos os métodos e comandos para utilizarmos nosso projeto.
  • MinimalProject.csproj → Arquivos *.csproj é um arquivo XML que diz para o .NET quais arquivos fazem parte do projeto, Lista os pacotes NuGet usados (dependencias externas), Define o tipo de projeto e possui as configurações de Build, versão .NET, diretórios, etc.
  • appSettings.json → Este arquivo é usado para armazenar configurações da aplicação, como strings de conexão, chaves de API, configurações de Logging e muito mais. Podemos definir configurações diferentes para cada ambiente de desenvolvimento que temos (Prod, Dev, Testing, entre outros) assim evita de utilizar as mesmas configurações em ambientes de teste e os de produção.

Temos os seguintes códigos templates que vem junto da aplicação:

{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5020",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7179;http://localhost:5020",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();