{"id":21046244,"url":"https://github.com/alfredo1995/asp-net-core","last_synced_at":"2025-05-15T18:31:07.493Z","repository":{"id":125101663,"uuid":"500179958","full_name":"alfredo1995/asp-net-core","owner":"alfredo1995","description":"ASP.NET Core WebAPI: Comprehensive registration system, allowing carriers to control and manage all essential information effectively and centrally","archived":false,"fork":false,"pushed_at":"2024-07-09T14:55:18.000Z","size":125,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-07-09T19:02:49.664Z","etag":null,"topics":["asp-net-core","csharp","webapi"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=lot2auPD8JY\u0026t=14s","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/alfredo1995.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}},"created_at":"2022-06-05T18:31:08.000Z","updated_at":"2024-07-09T19:02:57.232Z","dependencies_parsed_at":"2023-08-31T15:56:12.283Z","dependency_job_id":"d1e337bb-8c27-4d07-bd53-8ecf1edb0baa","html_url":"https://github.com/alfredo1995/asp-net-core","commit_stats":null,"previous_names":["alfredo1995/aspnet-core-webapi","alfredo1995/asp-net-core"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfredo1995%2Fasp-net-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfredo1995%2Fasp-net-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfredo1995%2Fasp-net-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfredo1995%2Fasp-net-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alfredo1995","download_url":"https://codeload.github.com/alfredo1995/asp-net-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225368275,"owners_count":17463366,"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","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":["asp-net-core","csharp","webapi"],"created_at":"2024-11-19T14:28:39.947Z","updated_at":"2025-05-15T18:31:07.484Z","avatar_url":"https://github.com/alfredo1995.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ASP.NET-Core-WebAPI / REST API\n\nCRUD rápido e básico em ASP.NET Core WebAPI\n \n\n\nProtocolo HTTP: Conversar com o servidor atraves de REQUEST E RESPONSE ( Client faz um request ao Server que retorna um response )\n\nUm REQUEST: Possui o Verbo HTTP : GET para obter, POST para inserir, PATH ou PUT para atualizar e DELETE para excluir\n            Precisa informar a URI : qual o endereço da internet\n            Versão: 1.1   \n                          \n            Conceito de Request HEADER  : É o cabeçalho da requisição (e passado a versão do broweser, cockier de autenticacao... )\n            Conceito de Request MASSAGE : É passado as informações ( Dados do produto )\n                       \nUm RESPONSE: Códigos de status de respostas do servidor HTTP: 100 = informaçao 200 = ok , 300 = redirecionamente, 400 = não permitido, 500 = erro\n  \n            Conceito de Response HEADER  : Passar o cockie, token \n            Conceito de Response MASSAGE : Informar a resposta q vai ser exibida ( lista de produto, pagina html e etc..)\n                        \n \n  \nARQUITETURA REST : Envio de dados com base em REST - Estado de representação do dado\n\n        CLIENTE -\u003e DADOS -\u003e HTTP -\u003e SERVIDOR \n\n           1° CLIENTE = começa a transferir Dados\n           2° DADOS   = vai na parte do body do verbo http, transmiti os dados atraves do protocolo htttp\n           3° PROTOCOLO HTTP: possui o request q é uma ENVELOPE(mensagem) pois esta formatado padrao de HEADER e MASSAGE\n           4° SERVIDOR: o servidor recebe a mensagem \n        \n           Simplesmente pega um dado via texto, passa via texto e recebe via texto\n           \n\nCrud Básico e Rápido em ASP.NET Core usando Scafolding\n\n            create a new project \u003e ASP.NET Core Web Application\n            .NET Core \u003e ASP.NET Core 2.2 \u003e API\n\nCriar a pasta Model \u003e botão direito sobre o projeto ( nova pasta)\n\n            na pasta Model \u003e criar a class FornecedorViewModel.cs \n            \nFornecedorViewModel.cs\n\n            public class FornecedorViewModel{\n            \n            [key]\n            public Guid id {get; set;}\n            \n            public string Nome {get; set;}\n            \n            public int TipoFornecedor {get; set;}\n            \n            public bool Ativo {get; set;}\n            \nPasta Model criar a class \u003e ApiDbContext.cs\n\n            public class ApiDbContext : DbContext{\n            \nIr em Startup.cs dizendo q esta sendo usado a ApiDbContext.cs\n\n            public void ConfigureServices(IServiceCollection services){\n            \n                 services.AddDbContext\u003cApiDbContext\u003e(options =\u003e options.UseSqlServer(Configuration.GetConnectionString(\"DefaultConnection\")));\n                 \n                 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);\n            }\n            \n            \n                        \nApiDbContext.cs utilizar um construtor para passar as options necessaria, onde a class base vai receber as options\nMapear a viewModel usando dbset \n\n\n            public class ApiDbContext : DbContext{\n            \n            public ApiDbContext(DbContextOptions options) : base(options){\n            \n            }\n            \n            public DbSet\u003cFornecedorViewModel\u003e Fornecedores {get; set; }\n\n            }\n            \nApos escrito minha string de conexão no meu arquivo appsettings.json e trazê-lo para o meu arquivo de inicialização\n\n            Add-Migration Initial\n            \nDefinir uma conection string apontando para o banco local \u003e AppSetting.json\n\n            \"ConnectionStrings\" : {\n            \"DefaultConnection\" : \"Server=(localdb)\\\\mssqllocaldb;Database=MinhaApiCore;Trusted_Connection=True;MultipleActiveResultSets=true\"\n            }}           \n\n\nGerar a migration agora com a string de conexao criada e criar o banco \u003e pagckage manage console\n            \n            Add-Migration Initial\n            update-database\n                        \nAgora atraves do Scalfolding criar a Controller\n\n            Botao direito na pasta Controllers \u003e Add \u003e New Controller \u003e API Controller with actions, using Entity Framework\n            \n            Model Class        :  Fornecedo (MinhaAPICore.Model)\n            Data COntext Class :  ApiDbContext(MinhaAPICore.Model)\n            \n            Nome da Class : ForncedoresController\n            \n           \nfacilitar o lançamento da url \u003e Propties \u003e lauchSetting.json\n            \n            \"profiles\": {\n            \"lauchUrl\" : \"api/fornecedores\"\n            \n            \"MinhaAPICore\" : {\n            \"lauchUrl\" : \"api/fornecedores\"\n\n           \nFazer o primeiro cadastro via banco\n\n            Sql Sever Object Explore \u003e Localdb\u003e database\u003e MinhaApiCore \u003e Tables \u003e  botao direito\u003e  dbo.Fornecdores \u003e view data \u003e\n            Tools \u003e Create Guid \u003e New GUID \u003e Registy Format \u003e Copy\n            \n            dbb.fornecedores colar o GUID em id e preencher os demais campos (Nome, Documento, TipoFornecedor, Ativo )\n            \n            roda a api no brosew para testar o metodo get , devera aparecer a informações em formato de json :  https:localhost:44315//api/fornecedores\n            \nO que é um JSON e como funciona\n\n            O JSON se baseia na notação NOME : VALOR, onde NOME pode ser o nome que você deseja usar para identificar um objeto\n            e VALOR é o valor deste objeto.( Formatação utilizada p/ estruturar dados em formato de texto e transmiti-los de um sistema para outro )\n            \n\nAgora para testar o metodo post, put e delete e necessario usar o POSTMAN\n\n            vou copiar minha url de fornecedores : https:localhost:44315//api/fornecedores\n            colar na aba de busca GET no Postman e dar Send pra executar\n            no postman consigo chamar meus metodos atraves dos verbos\n            \n            postman  \u003e body do respnse \u003e prety \u003e  copiar os dados q veio no get e utilizar eles para fazer um post\n            \n            {\n            \"id\" : \"\",\n            \"nome\" : \"\",\n            \"documento : \"\",\n            \"tipoFornecedor\" : \"\",\n            \"ativo : true\n            }\n            \nPara testar o post apenas alterar o verbo da aba de busca de GET para POST\n\n            POST \u003e https:localhost:44315//api/fornecedores \u003e SEND\n            Body \u003e raw \u003e JSON(application/json) \u003e colar o resultado do get no response acima\n            \n            vai ser trocado apenas o numero do id por outro qualquer \n            \n            \n            {\n            \"id\" : \"\",\n            \"nome\" : \"\",\n            \"documento : \"\",\n            \"tipoFornecedor\" : \"\",\n            \"ativo : true\n            }\n            \n            \nColocar um breakPoint no FornecedorController.cs\n\n            linha 77 \u003e Verbo Post  \u003e  colocar um breakPoint\n            voltar no post e dar um \u003e SEND\n            \nfazer um PUT o mesmo procedimento, colocando um breakPoint no FornecedorController.cs\n            \n            linha 46 \u003e Verbo PUT  \u003e  colocar um breakPoint\n\nPara testar o post apenas alterar o verbo da aba de busca de GET para POST\n\n            mudar o vebo para put \n\n            vai ser trocado uma informação qualquer pra ter alteração            \n            \n            E agora alem da url dps do ultimo barra vai ser passado o id gerado nos verbos anteriores\n            \n            https:localhost:44315//api/fornecedores/321615646546461616164            \n            \n\n            {\n            \"id\" : \"\",\n            \"nome\" : \"\",\n            \"documento : \"\",\n            \"tipoFornecedor\" : \"\",\n            \"ativo : true\n            }            \n            \n            Dar um \u003e SEND\n            \nMudar o verbo para delete\n\n            dar mesma forma feito no PUT vai ser passado o id posteriomente na url \n            \n-------------------------\n\nvector = a posição em um espaço\nangulo = rotacao do objeto\n\n1) importado projeto Astronomy em c#\n2) Referenciei as dependência com os projetos Astronomy e DemoHelp\n3) criado uma class ObterCalculo \n4) criado uma função com 2 vector para que me retorna-se o (valor) ângulo entre eles \n\nusing System;\n\n\tnamespace ObterCalculo\n\t{\n\t    public class ObterCalculoVector\n\t    {\n\t\tstatic void Main(string[] args)\n\t\t{\n\t\t    Console.WriteLine(\"teste\");\n\t\t    AstroVector a = new AstroVector(10,10, 2, new AstroTime(10));\n\t\t    AstroVector b = new AstroVector(10, 10, 2, new AstroTime(10));\n\n\t\t    var angulo = Astronomy.AngleBetween(a, b);\n\t\t    Console.WriteLine(angulo);\n\t\t}\n\t    }\n\t}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfredo1995%2Fasp-net-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfredo1995%2Fasp-net-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfredo1995%2Fasp-net-core/lists"}