{"id":24227603,"url":"https://github.com/cleslleydemoura/webapi.netcore","last_synced_at":"2025-10-05T01:31:59.358Z","repository":{"id":271474580,"uuid":"911170394","full_name":"cleslleydemoura/webAPI.netCore","owner":"cleslleydemoura","description":"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.","archived":false,"fork":false,"pushed_at":"2025-08-29T19:14:59.000Z","size":14001,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-07T10:38:14.856Z","etag":null,"topics":["csharp","dotnet","dotnet-core"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cleslleydemoura.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-02T11:57:52.000Z","updated_at":"2025-04-29T14:59:09.000Z","dependencies_parsed_at":"2025-01-08T01:28:25.427Z","dependency_job_id":"a7b563a2-f07e-4684-9e9c-da7ef4427845","html_url":"https://github.com/cleslleydemoura/webAPI.netCore","commit_stats":null,"previous_names":["cleslleydemoura/webapi.netcore"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cleslleydemoura/webAPI.netCore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleslleydemoura%2FwebAPI.netCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleslleydemoura%2FwebAPI.netCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleslleydemoura%2FwebAPI.netCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleslleydemoura%2FwebAPI.netCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cleslleydemoura","download_url":"https://codeload.github.com/cleslleydemoura/webAPI.netCore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleslleydemoura%2FwebAPI.netCore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278399628,"owners_count":25980330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dotnet","dotnet-core"],"created_at":"2025-01-14T10:18:20.978Z","updated_at":"2025-10-05T01:31:59.329Z","avatar_url":"https://github.com/cleslleydemoura.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003ewebAPI.netCore\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\n      \u003cimg src=\"https://skillicons.dev/icons?i=cs,dotnet,mysql\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003chr\u003e\n\u003ch1\u003eIntrodução\u003c/h1\u003e\n\u003cp\u003eNeste 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.\u003c/p\u003e\n\n\u003ch1\u003eGuia Completo para Configuração de um Projeto .NET com Web API e MySQL\u003c/h1\u003e\n\u003ch2\u003e1. Criando o Projeto Web API\u003c/h2\u003e\n\u003cp\u003ePara iniciar um novo projeto .NET Core Web API, use o seguinte comando:\u003c/p\u003e\n\n```dotnet new webapi -o api```\n\n\u003cp\u003eEste comando cria um novo projeto do tipo Web API na pasta api. Agora, para acessar a api:\u003c/p\u003e\n\n```cd api```\n\n\u003ch2\u003e2. Rodando a API em desenvolvimento\u003c/h2\u003e\n\u003cp\u003ePara rodar a API de desenvolvimento e acompanhar as mudanças em tempo real, digite no terminal:\u003c/p\u003e\n\n```dotnet watch run```\n\n\u003cp\u003eEsse comando inicia a aplicação, recompilando automaticamente o código sempre que houver alterações (hot reload).\u003c/p\u003e\n\n\u003ch2\u003e3. Instalando Pacotes NuGet para MySQL\u003c/h2\u003e\n\u003cp\u003eUtilizando o VSCode, baixe a extensão do NuGet Gallery e instale as seguintes extensões: \u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003eMicrosoft.EntityFrameworkCore.SqlServer\u003c/li\u003e\n    \u003cli\u003eMicrosoft.EntityFrameworkCore.Tools\u003c/li\u003e\n    \u003cli\u003eMicrosoft.VisualStudio.Azure.Containers.Tools.Targets\u003c/li\u003e\n    \u003cli\u003eSwashbuckle.AspNetCore\u003c/li\u003e\n\u003c/ul\u003e\n\n# Funções das extenções:\n\n| Pacote | Função | Comando\n|--------|--------|--------|\n|📌 `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```|\n|📌 `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```|\n|📌 `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```|\n| 📌`Swashbuckle.AspNetCore` | Adiciona suporte ao Swagger para documentar e testar APIs. |```dotnet add package Swashbuckle.AspNetCore```|\n\n\u003ch2\u003e4. Migration e conexão com SQL\u003c/h2\u003e\n\u003cp\u003eQuando 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.\u003c/p\u003e\n\u003cp\u003eA 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 \u003cb\u003eescrever os comandos SQL manualmente\u003c/b\u003e.\u003c/p\u003e\n\n```dotnet ef migrations add init```\n\n\u003cp\u003e\u003cb\u003eALTERAÇÃO no appsettings.json\u003c/b\u003e: Devem ser adicionadas as linhas: \u003c/p\u003e\n\n```json\n{\n  \"ConnectionStrings\": {\n    \"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\"\n  },\n```\n\u003cp\u003eAs informações sobre sua tabela e nome do computador devem estar de acordo com as fornecidas dentro do \u003cb\u003eSQL Server Management Studio\u003c/b\u003e.\u003c/p\u003e\n\u003cp\u003eComando para verificar se todas as pendências estão sincronizadas com o banco de dados:\u003c/p\u003e\n\n```dotnet ef database update```\n\u003cp\u003eAplica todas as migrações pendentes ao banco de dados, garantindo que ele esteja sincronizado com o modelo definido no código da aplicação.\u003c/p\u003e\n\n\u003cp\u003eEm 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.\u003c/p\u003e\n\u003cp\u003e Códigos de limpeza e recompilação do projeto, respectivamente: \u003c/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\n    \n    dotnet clean\n  \u003c/li\u003e\n  \u003cli\u003e\n\n    dotnet build\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003eCaso tenha alterações na estrutura de tabelas ou novas migrações, atualize o banco com: \u003c/p\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\n    dotnet ef database update\n  \u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleslleydemoura%2Fwebapi.netcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleslleydemoura%2Fwebapi.netcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleslleydemoura%2Fwebapi.netcore/lists"}