Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alfredo1995/asp-net-core
ASP.NET Core WebAPI: Comprehensive registration system, allowing carriers to control and manage all essential information effectively and centrally
https://github.com/alfredo1995/asp-net-core
asp-net-core csharp webapi
Last synced: about 18 hours ago
JSON representation
ASP.NET Core WebAPI: Comprehensive registration system, allowing carriers to control and manage all essential information effectively and centrally
- Host: GitHub
- URL: https://github.com/alfredo1995/asp-net-core
- Owner: alfredo1995
- Created: 2022-06-05T18:31:08.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-07-09T14:55:18.000Z (4 months ago)
- Last Synced: 2024-07-09T19:02:49.664Z (4 months ago)
- Topics: asp-net-core, csharp, webapi
- Language: C#
- Homepage: https://www.youtube.com/watch?v=lot2auPD8JY&t=14s
- Size: 122 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ASP.NET-Core-WebAPI / REST API
CRUD rápido e básico em ASP.NET Core WebAPI
Protocolo HTTP: Conversar com o servidor atraves de REQUEST E RESPONSE ( Client faz um request ao Server que retorna um response )
Um REQUEST: Possui o Verbo HTTP : GET para obter, POST para inserir, PATH ou PUT para atualizar e DELETE para excluir
Precisa informar a URI : qual o endereço da internet
Versão: 1.1
Conceito de Request HEADER : É o cabeçalho da requisição (e passado a versão do broweser, cockier de autenticacao... )
Conceito de Request MASSAGE : É passado as informações ( Dados do produto )
Um RESPONSE: Códigos de status de respostas do servidor HTTP: 100 = informaçao 200 = ok , 300 = redirecionamente, 400 = não permitido, 500 = erro
Conceito de Response HEADER : Passar o cockie, token
Conceito de Response MASSAGE : Informar a resposta q vai ser exibida ( lista de produto, pagina html e etc..)
ARQUITETURA REST : Envio de dados com base em REST - Estado de representação do dadoCLIENTE -> DADOS -> HTTP -> SERVIDOR
1° CLIENTE = começa a transferir Dados
2° DADOS = vai na parte do body do verbo http, transmiti os dados atraves do protocolo htttp
3° PROTOCOLO HTTP: possui o request q é uma ENVELOPE(mensagem) pois esta formatado padrao de HEADER e MASSAGE
4° SERVIDOR: o servidor recebe a mensagem
Simplesmente pega um dado via texto, passa via texto e recebe via texto
Crud Básico e Rápido em ASP.NET Core usando Scafolding
create a new project > ASP.NET Core Web Application
.NET Core > ASP.NET Core 2.2 > APICriar a pasta Model > botão direito sobre o projeto ( nova pasta)
na pasta Model > criar a class FornecedorViewModel.cs
FornecedorViewModel.cspublic class FornecedorViewModel{
[key]
public Guid id {get; set;}
public string Nome {get; set;}
public int TipoFornecedor {get; set;}
public bool Ativo {get; set;}
Pasta Model criar a class > ApiDbContext.cspublic class ApiDbContext : DbContext{
Ir em Startup.cs dizendo q esta sendo usado a ApiDbContext.cspublic void ConfigureServices(IServiceCollection services){
services.AddDbContext(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
ApiDbContext.cs utilizar um construtor para passar as options necessaria, onde a class base vai receber as options
Mapear a viewModel usando dbsetpublic class ApiDbContext : DbContext{
public ApiDbContext(DbContextOptions options) : base(options){
}
public DbSet Fornecedores {get; set; }}
Apos escrito minha string de conexão no meu arquivo appsettings.json e trazê-lo para o meu arquivo de inicializaçãoAdd-Migration Initial
Definir uma conection string apontando para o banco local > AppSetting.json"ConnectionStrings" : {
"DefaultConnection" : "Server=(localdb)\\mssqllocaldb;Database=MinhaApiCore;Trusted_Connection=True;MultipleActiveResultSets=true"
}}Gerar a migration agora com a string de conexao criada e criar o banco > pagckage manage console
Add-Migration Initial
update-database
Agora atraves do Scalfolding criar a ControllerBotao direito na pasta Controllers > Add > New Controller > API Controller with actions, using Entity Framework
Model Class : Fornecedo (MinhaAPICore.Model)
Data COntext Class : ApiDbContext(MinhaAPICore.Model)
Nome da Class : ForncedoresController
facilitar o lançamento da url > Propties > lauchSetting.json
"profiles": {
"lauchUrl" : "api/fornecedores"
"MinhaAPICore" : {
"lauchUrl" : "api/fornecedores"
Fazer o primeiro cadastro via bancoSql Sever Object Explore > Localdb> database> MinhaApiCore > Tables > botao direito> dbo.Fornecdores > view data >
Tools > Create Guid > New GUID > Registy Format > Copy
dbb.fornecedores colar o GUID em id e preencher os demais campos (Nome, Documento, TipoFornecedor, Ativo )
roda a api no brosew para testar o metodo get , devera aparecer a informações em formato de json : https:localhost:44315//api/fornecedores
O que é um JSON e como funcionaO JSON se baseia na notação NOME : VALOR, onde NOME pode ser o nome que você deseja usar para identificar um objeto
e VALOR é o valor deste objeto.( Formatação utilizada p/ estruturar dados em formato de texto e transmiti-los de um sistema para outro )
Agora para testar o metodo post, put e delete e necessario usar o POSTMAN
vou copiar minha url de fornecedores : https:localhost:44315//api/fornecedores
colar na aba de busca GET no Postman e dar Send pra executar
no postman consigo chamar meus metodos atraves dos verbos
postman > body do respnse > prety > copiar os dados q veio no get e utilizar eles para fazer um post
{
"id" : "",
"nome" : "",
"documento : "",
"tipoFornecedor" : "",
"ativo : true
}
Para testar o post apenas alterar o verbo da aba de busca de GET para POSTPOST > https:localhost:44315//api/fornecedores > SEND
Body > raw > JSON(application/json) > colar o resultado do get no response acima
vai ser trocado apenas o numero do id por outro qualquer
{
"id" : "",
"nome" : "",
"documento : "",
"tipoFornecedor" : "",
"ativo : true
}
Colocar um breakPoint no FornecedorController.cslinha 77 > Verbo Post > colocar um breakPoint
voltar no post e dar um > SEND
fazer um PUT o mesmo procedimento, colocando um breakPoint no FornecedorController.cs
linha 46 > Verbo PUT > colocar um breakPointPara testar o post apenas alterar o verbo da aba de busca de GET para POST
mudar o vebo para put
vai ser trocado uma informação qualquer pra ter alteração
E agora alem da url dps do ultimo barra vai ser passado o id gerado nos verbos anteriores
https:localhost:44315//api/fornecedores/321615646546461616164
{
"id" : "",
"nome" : "",
"documento : "",
"tipoFornecedor" : "",
"ativo : true
}
Dar um > SEND
Mudar o verbo para deletedar mesma forma feito no PUT vai ser passado o id posteriomente na url
-------------------------vector = a posição em um espaço
angulo = rotacao do objeto1) importado projeto Astronomy em c#
2) Referenciei as dependência com os projetos Astronomy e DemoHelp
3) criado uma class ObterCalculo
4) criado uma função com 2 vector para que me retorna-se o (valor) ângulo entre elesusing System;
namespace ObterCalculo
{
public class ObterCalculoVector
{
static void Main(string[] args)
{
Console.WriteLine("teste");
AstroVector a = new AstroVector(10,10, 2, new AstroTime(10));
AstroVector b = new AstroVector(10, 10, 2, new AstroTime(10));var angulo = Astronomy.AngleBetween(a, b);
Console.WriteLine(angulo);
}
}
}