Skip to content

cleslleydemoura/webAPI.netCore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webAPI.netCore


Introdução

Neste repositório, está a base de uma estrutura em C# utilizando .NET (v8.0), projetado para facilitar o desenvolvimento de aplicações e a utilização de ferramentas essenciais para versionamento de banco de dados via migrações e documentação automática com Swagger.

Guia Completo para Configuração de um Projeto .NET com Web API e MySQL

1. Criando o Projeto Web API

Para iniciar um novo projeto .NET Core Web API, use o seguinte comando:

dotnet new webapi -o api

Este comando cria um novo projeto do tipo Web API na pasta api. Agora, para acessar a api:

cd api

2. Rodando a API em desenvolvimento

Para rodar a API de desenvolvimento e acompanhar as mudanças em tempo real, digite no terminal:

dotnet watch run

Esse comando inicia a aplicação, recompilando automaticamente o código sempre que houver alterações (hot reload).

3. Instalando Pacotes NuGet para MySQL

Utilizando o VSCode, baixe a extensão do NuGet Gallery e instale as seguintes extensões:

  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.VisualStudio.Azure.Containers.Tools.Targets
  • Swashbuckle.AspNetCore

Funções das extenções:

Pacote Função Comando
📌 Microsoft.EntityFrameworkCore.SqlServer Permite que aplicações .NET interajam com bancos de dados Microsoft SQL Server usando Entity Framework Core. dotnet add package Microsoft.EntityFrameworkCore.SqlServer
📌 Microsoft.EntityFrameworkCore.Tools Fornece ferramentas para gerenciar o Entity Framework Core via linha de comando e permite criar e aplicar migrações, gerar código a partir do banco e atualizar o esquema do banco. dotnet add package Microsoft.EntityFrameworkCore.Tools
📌 Microsoft.VisualStudio.Azure.Containers.Tools.Targets Auxilia na integração e implantação de contêineres Docker dentro do Visual Studio e permite executar, depurar e publicar aplicações em contêineres de forma integrada. dotnet add package Microsoft.EntityFrameworkCore.Tools
📌Swashbuckle.AspNetCore Adiciona suporte ao Swagger para documentar e testar APIs. dotnet add package Swashbuckle.AspNetCore

4. Migration e conexão com SQL

Quando se trabalha com Entity Framework Core e deseja utilizar seu próprio modelo em um banco de dados, utiliza-se o conceito de migrações.

A migração permite que seja criado ou atualizado a estrutura do banco de dados automaticamente a partir do código da aplicação, sem a necessidade de escrever os comandos SQL manualmente.

dotnet ef migrations add init

ALTERAÇÃO no appsettings.json: Devem ser adicionadas as linhas:

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source={NOME-DO-SEU-COMPUTADOR}\\SQLEXPRESS;Initial Catalog={NOME-DA-SUA-TABELA};Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
  },

As informações sobre sua tabela e nome do computador devem estar de acordo com as fornecidas dentro do SQL Server Management Studio.

Comando para verificar se todas as pendências estão sincronizadas com o banco de dados:

dotnet ef database update

Aplica todas as migrações pendentes ao banco de dados, garantindo que ele esteja sincronizado com o modelo definido no código da aplicação.

Em casos de problemas de compilação por conflitos entre o código e o banco de Dados, devem ser levado em consideração se o ApplicationDBContext está de acordo com as tabelas do Banco.

Códigos de limpeza e recompilação do projeto, respectivamente:

  • dotnet clean
    
  • dotnet build
    

Caso tenha alterações na estrutura de tabelas ou novas migrações, atualize o banco com:

  • dotnet ef database update
    

About

Neste repositório, está a base de uma estrutura em C# utilizando .NET (v8.0), projetado para facilitar o desenvolvimento de aplicações e a utilização de ferramentas essenciais para versionamento de banco de dados via migrações e documentação automática com Swagger.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors