API .Net Core PUT

Nesta aula iremos aprender como fazer alteração de dados via API, também utilizaremos estratégia para atualização de dados utilizando o Entity Framework ou diretamente pelo banco de dados.

assinaturaAssine nossa Comunidade

API .Net Core - PUT

O objetivo da aula de hoje é atualizar os dados do cliente, através de API, utilizando o método PUT.

Atualizando com Entity Framework

Para atualizar os dados do cliente através da API, vamos utilizar o Entity Framework.Para isso, vamos conectar a nossa aplicação ao Entity Framework no projeto.

Primeiro precisamos criar uma classe na camada de modelos, que será o objeto context e instalar o Entity Framework, Entity FrameworkSql e Entity FrameworkTools, através do gerenciador de pacotes Nuget.

Iremos sobrescrever o método onConfiguring, para inserir o endereço do nosso banco de dados, através da classe Conexao e do método Dados, que foram criados na aula 86 - classe Startup.

      

        using Microsoft.EntityFrameworkCore;
        
        namespace Models
        {
          public class DBContexto : DBContext
          {
            protected override void OnConfiguring(DbContextOptionsBuilder optionBuilder)
            {
              if(!optionsBuilder.IsConfigured)
              {
                optionBuilder.UseSqlServer(Conexao.Dados);
              }
            }
            public DbSet< Cliente> Clientes { get; set;}
          }
        }
       
    

Vamos alterar a classe Cliente, para utilizar o EntityFramework:

  1. Inserir a assinatura [Table("Clientes")] antes da declaração da classe;
  2. Manter o construtor vazio;
  3. Inserir o DBContexto internamente encapsulado na classe cliente;
  4. Alterar os métodos Salvar() e Todos().
      
      using System;
      using System.Collections.Generic;
      using System.Data.SqlClient;

      namespace Models 
      {
        [Table("Clientes")]
        public class Cliente 
        {
          private static DBContexto db = new DBContexto();
          private Cliente(){ }

          public int Id{ get; set;}
          public string Nome{ get; set;}
          public string Telefone{ get; set;}
          public string Endereco{ get; set;}

          public Cliente Salvar()
          {
            if(this.Id > 0)
            {
              db.Clientes.Update(this);
            }
            else 
            {
              db.Clientes.Add(this);
            }
            db.SaveChanges();
            return this;
          }          
          public static List< Cliente> Todos()
          {
            return db.Clientes.ToList();
          }          
        }
      }
       
    

Agora vamos criar um novo método, o método PUT, para alterar os registros.

      
        using Models;
        namespace APIAulaYoutube.Controllers 
        {
          [Route("clientes")]
          [ApiController] 
          public class ClientesController : ControllerBase 
          {
            [HttpPut]
            [Route("{id}")]
            public Cliente Atualizar(int id, [FromBody] Cliente cliente) 
            {
              cliente.Id = id;
              return cliente.Salvar();
            }
          }
        }
       
    

Para fazermos os testes, vamos acessar o site restClient:

  • Criaremos uma requisição do tipo PUT com a url https://localhost:5001/clientes/4, para alterar o cliente com id igual a 4;
  • Enviar os dados JSON que serão alterados.
              
                {
                  "nome":"Fabiana dos Santos",
                  "telefone": "8278272383",
                  "endereco": "Rua tessddste 12345 mais 123"
                },
               
            
  • O registro será alterado com sucesso, retornado o status 200 e o JSON abaixo:
              
                {
                  "id": 4,
                  "nome":"Fabiana dos Santos",
                  "telefone": "8278272383",
                  "endereco": "Rua tessddste 12345 mais 123"
                },
               
            

API .Net Core PUT

Nesta aula iremos aprender como fazer alteração de dados via API, também utilizaremos estratégia para atualização de dados utilizando o Entity Framework ou diretamente pelo banco de dados.

Próximas Aulas:
assinaturaAssine nossa Comunidade

API .Net Core - PUT

O objetivo da aula de hoje é atualizar os dados do cliente, através de API, utilizando o método PUT.

Atualizando com Entity Framework

Para atualizar os dados do cliente através da API, vamos utilizar o Entity Framework.Para isso, vamos conectar a nossa aplicação ao Entity Framework no projeto.

Primeiro precisamos criar uma classe na camada de modelos, que será o objeto context e instalar o Entity Framework, Entity FrameworkSql e Entity FrameworkTools, através do gerenciador de pacotes Nuget.

Iremos sobrescrever o método onConfiguring, para inserir o endereço do nosso banco de dados, através da classe Conexao e do método Dados, que foram criados na aula 86 - classe Startup.

      

        using Microsoft.EntityFrameworkCore;
        
        namespace Models
        {
          public class DBContexto : DBContext
          {
            protected override void OnConfiguring(DbContextOptionsBuilder optionBuilder)
            {
              if(!optionsBuilder.IsConfigured)
              {
                optionBuilder.UseSqlServer(Conexao.Dados);
              }
            }
            public DbSet< Cliente> Clientes { get; set;}
          }
        }
       
    

Vamos alterar a classe Cliente, para utilizar o EntityFramework:

  1. Inserir a assinatura [Table("Clientes")] antes da declaração da classe;
  2. Manter o construtor vazio;
  3. Inserir o DBContexto internamente encapsulado na classe cliente;
  4. Alterar os métodos Salvar() e Todos().
      
      using System;
      using System.Collections.Generic;
      using System.Data.SqlClient;

      namespace Models 
      {
        [Table("Clientes")]
        public class Cliente 
        {
          private static DBContexto db = new DBContexto();
          private Cliente(){ }

          public int Id{ get; set;}
          public string Nome{ get; set;}
          public string Telefone{ get; set;}
          public string Endereco{ get; set;}

          public Cliente Salvar()
          {
            if(this.Id > 0)
            {
              db.Clientes.Update(this);
            }
            else 
            {
              db.Clientes.Add(this);
            }
            db.SaveChanges();
            return this;
          }          
          public static List< Cliente> Todos()
          {
            return db.Clientes.ToList();
          }          
        }
      }
       
    

Agora vamos criar um novo método, o método PUT, para alterar os registros.

      
        using Models;
        namespace APIAulaYoutube.Controllers 
        {
          [Route("clientes")]
          [ApiController] 
          public class ClientesController : ControllerBase 
          {
            [HttpPut]
            [Route("{id}")]
            public Cliente Atualizar(int id, [FromBody] Cliente cliente) 
            {
              cliente.Id = id;
              return cliente.Salvar();
            }
          }
        }
       
    

Para fazermos os testes, vamos acessar o site restClient:

  • Criaremos uma requisição do tipo PUT com a url https://localhost:5001/clientes/4, para alterar o cliente com id igual a 4;
  • Enviar os dados JSON que serão alterados.
              
                {
                  "nome":"Fabiana dos Santos",
                  "telefone": "8278272383",
                  "endereco": "Rua tessddste 12345 mais 123"
                },
               
            
  • O registro será alterado com sucesso, retornado o status 200 e o JSON abaixo:
              
                {
                  "id": 4,
                  "nome":"Fabiana dos Santos",
                  "telefone": "8278272383",
                  "endereco": "Rua tessddste 12345 mais 123"
                },