Bem-vindo ao Dev Nerd! Neste tutorial, você vai aprender como criar uma API REST usando .NET Core 8. Vamos cobrir a configuração do ambiente de desenvolvimento, criação de endpoints e consumo da API.

Passo 1: Configurando o Ambiente

  1. Instalando o .NET Core SDK:
  2. Instalando o Visual Studio:
    • Baixe e instale o Visual Studio 2022 (ou a versão mais recente) com a carga de trabalho “ASP.NET e desenvolvimento web”.

Passo 2: Criando um Novo Projeto ASP.NET Core

  1. Criando o Projeto:
    • Abra o Visual Studio e selecione “Criar um novo projeto”.
    • Escolha “ASP.NET Core Web API” e clique em “Avançar”.
    • Nomeie o projeto como DevNerdApi, escolha um local de armazenamento e clique em “Criar”.
  2. Selecionando a Versão do .NET Core:
    • Na próxima tela, selecione .NET Core 8 como a versão da estrutura de destino e clique em “Criar”.

Passo 3: Estrutura do Projeto

  1. Explorando a Estrutura:
    • O projeto criado terá a seguinte estrutura básica:
DevNerdApi/
├── Controllers/
│ └── WeatherForecastController.cs
├── Program.cs
├── Startup.cs
├── DevNerdApi.csproj

Passo 4: Criando um Modelo e um Controlador

  1. Criando o Modelo:Crie uma nova pasta chamada Models e adicione um arquivo Product.cs com o seguinte conteúdo:
    namespace DevNerdApi.Models
    {
    public class Product
    {
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    }
    }
  2. Criando o Controlador:
    • Crie uma nova pasta chamada Controllers e adicione um arquivo ProductsController.cs com o seguinte conteúdo:
using Microsoft.AspNetCore.Mvc;
using DevNerdApi.Models;
using System.Collections.Generic;
using System.Linq;
[Route(“api/[controller]”)]
[ApiController]
public class ProductsController : ControllerBase
{
private static List<Product> Products = new List<Product>
{
new Product { Id = 1, Name = “Laptop”, Price = 1500.00M },
new Product { Id = 2, Name = “Mouse”, Price = 25.00M },
};
[HttpGet]
public ActionResult<IEnumerable<Product>> Get()
{
return Products;
}
[HttpGet(“{id}”)]
public ActionResult<Product> Get(int id)
{
var product = Products.FirstOrDefault(p => p.Id == id);
if (product == null)
{
return NotFound();
}
return product;
}
[HttpPost]
public ActionResult<Product> Post(Product product)
{
product.Id = Products.Count + 1;
Products.Add(product);
return CreatedAtAction(nameof(Get), new { id = product.Id }, product);
}
[HttpPut(“{id}”)]
public ActionResult Put(int id, Product product)
{
var existingProduct = Products.FirstOrDefault(p => p.Id == id);
if (existingProduct == null)
{
return NotFound();
}
existingProduct.Name = product.Name;
existingProduct.Price = product.Price;
return NoContent();
}
[HttpDelete(“{id}”)]
public ActionResult Delete(int id)
{
var product = Products.FirstOrDefault(p => p.Id == id);
if (product == null)
{
return NotFound();
}
Products.Remove(product);
return NoContent();
}
}

Passo 5: Testando a API

  1. Executando o Projeto:
      • Pressione F5 ou clique em “Iniciar” no Visual Studio para executar o projeto.
      • A API estará disponível em https://localhost:5001/api/products.
      • Teste a Api no Swagger:

    Api Rest .net core 8

    Api Rest rodando localhost

  2. Testando com o Postman:
    • Use o Postman para testar os endpoints:
      • GET https://localhost:5001/api/products – Obtém todos os produtos.
      • GET https://localhost:5001/api/products/{id} – Obtém um produto pelo ID.
      • POST https://localhost:5001/api/products – Adiciona um novo produto.
      • PUT https://localhost:5001/api/products/{id} – Atualiza um produto existente.
      • DELETE https://localhost:5001/api/products/{id} – Deleta um produto.