DevNerd

Tag: api

Postman é uma ferramenta poderosa para testar APIs

Introdução:
Bem-vindo ao Dev Nerd! Neste tutorial, vamos aprender como instalar e configurar o Postman, uma ferramenta essencial para testar e interagir com APIs REST.

Passo 1: Instalando o Postman

Baixando o Postman:

Acesse o site oficial do Postman: Download Postman.
Escolha a versão adequada para o seu sistema operacional (Windows, macOS, Linux) e faça o download.
Instalando o Postman:

Siga as instruções de instalação específicas para o seu sistema operacional. O processo é simples e direto.
Iniciando o Postman:

Após a instalação, abra o Postman. Você pode precisar criar uma conta ou fazer login.

Passo 2: Configurando o Postman para Testar a API

Criando uma Nova Coleção:

No Postman, clique em “Collections” na barra lateral esquerda.
Clique no botão “+ New Collection” e dê um nome à sua coleção, como “DevNerdApi”.


Criando uma Nova Requisição:

Na coleção criada, clique em “Add a request”.
Dê um nome à requisição, como “Get All Products”.

Passo 3: Testando os Endpoints da API

GET Todos os Produtos:

URL: https://localhost:44379/api/products
Método: GET
Descrição: Este endpoint obtém todos os produtos.
Passos:
Cole a URL no campo de URL.
Selecione o método GET.
Clique em “Send”.
Verifique a resposta no painel inferior. Você deve ver a lista de produtos.

GET Produto por ID:

Cria uma nova requisição, dê um nome à requisição, como “Get Product”.

URL: https://localhost:44379/api/products/1
Método: GET
Descrição: Este endpoint obtém um produto específico pelo ID.
Passos:
Cole a URL no campo de URL.
Selecione o método GET.
Substitua 1 pelo ID do produto que você deseja buscar.
Clique em “Send”.
Verifique a resposta no painel inferior. Você deve ver os detalhes do produto com ID 1.

POST Adicionar Novo Produto:

Cria uma nova requisição, dê um nome à requisição, como “Add Product”.

URL: https://localhost:44379/api/products
Método: POST
Descrição: Este endpoint adiciona um novo produto.
Passos:
Cole a URL no campo de URL.
Selecione o método POST.
Vá para a aba “Body” e selecione “raw”.
Escolha “JSON” no menu suspenso.
Cole o seguinte JSON no campo de texto:
{
“name”: “Teclado”,
“price”: 75.00
}
Clique em “Send”.
Verifique a resposta no painel inferior. Você deve ver o produto criado com um novo ID.

PUT Atualizar Produto:

Cria uma nova requisição, dê um nome à requisição, como “Update Product”.

URL: https://localhost:44379/api/products/1
Método: PUT
Descrição: Este endpoint atualiza um produto existente.
Passos:
Cole a URL no campo de URL.
Selecione o método PUT.
Vá para a aba “Body” e selecione “raw”.
Escolha “JSON” no menu suspenso.
Cole o seguinte JSON no campo de texto, substituindo os valores conforme necessário:
{
“id”: 1,
“name”: “Teclado Mecânico”,
“price”: 100.00
}
Clique em “Send”.
Verifique a resposta no painel inferior. Se a atualização for bem-sucedida, a resposta será 204 No Content.

DELETE Excluir Produto:

URL: https://localhost:44379/api/products/1
Método: DELETE
Descrição: Este endpoint exclui um produto pelo ID.
Passos:
Cole a URL no campo de URL.
Selecione o método DELETE.
Clique em “Send”.
Verifique a resposta no painel inferior. Se a exclusão for bem-sucedida, a resposta será 204 No Content.

Conclusão:

Parabéns! Você aprendeu como instalar e usar o Postman para testar uma API REST criada com .NET Core 8. Continue praticando e explorando mais funcionalidades do Postman, como testes automatizados, coleções de requisições e ambiente de variáveis.

Tutorial: Criando uma API REST com .NET Core 8

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.

API .NET Core e MongoDB

API .NET Core e MongoDB

Como criar uma API RESTful com .NET Core e MongoDB ?

Neste tutorial, você aprende como:

  • Configurar o MongoDB
  • Criar um banco de dados MongoDB
  • Definir uma coleção e um esquema do MongoDB
  • Execute operações MongoDB CRUD a partir de uma API da Web
  • Personalize a serialização JSON

Pré-requisitos

Leia o nosso post sobre MongoDB: Banco de Dados NoSQL

Faça a instalação e a configuração do MongoBD como explicado.

Vamos criar nossa base de dados

Abra o prompt de comando (CMD) e insira os comandos a seguir:

Conecte-se ao banco de dados de teste padrão executando o seguinte comando:

mongosh

Execute o seguinte comando no shell de comando:

use BookStore

Um banco de dados chamado BookStore é criado se ainda não existir. Se o banco de dados existe, sua conexão é aberta para transações.

Crie uma coleção Books usando o seguinte comando:

db.createCollection(‘Books’)

O seguinte resultado é exibido:

{ “ok” : 1 }

Defina um esquema para a Bookscoleção e insira dois documentos usando o seguinte comando:

db.Books.insertMany([{ “Name”: “Design Patterns”, “Price”: 54.93, “Category”: “Computers”, “Author”: “Ralph Johnson” }, { “Name”: “Clean Code”, “Price”: 43.15, “Category”: “Computers”,”Author”: “Robert C. Martin” }])

Um resultado semelhante ao seguinte é exibido:

{
“acknowledged” : true,
“insertedIds” : [
ObjectId(“61a6058e6c43f32854e51f51”),
ObjectId(“61a6058e6c43f32854e51f52”)
]
}

Visualize os documentos no banco de dados usando o seguinte comando:

db.Books.find().pretty()

{
“_id” : ObjectId(“61a6058e6c43f32854e51f51”),
“Name” : “Design Patterns”,
“Price” : 54.93,
“Category” : “Computers”,
“Author” : “Ralph Johnson”
}
{
“_id” : ObjectId(“61a6058e6c43f32854e51f52”),
“Name” : “Clean Code”,
“Price” : 43.15,
“Category” : “Computers”,
“Author” : “Robert C. Martin”
}

Base de dados MongoDB

Comandos executados e base de dados BookStore no MongoDB criada juntamente com sua coleção de Books.

 

BookStore MongoDB Compass

Todos os comandos podem ser executados diretamente no MongoDB Compass.

 

Crie o projeto de API Web ASP.NET Core

Criando um novo projeto

Criando um novo projeto

 

projeto ASP.NET Core Web API

Projeto ASP.NET Core Web API

 

Nome e local do projeto

Nome e local do projeto

 

Framework e Docker

Framework .NET 6.0 sem autenticação e com Docker ativo para se utilizar em futuros outros posts como exemplo.

 

Vamos adicionar um modelo de entidade

  1. Vamos adicionar a pasta Models no diretório raiz.
  2. Crie uma classe chamada Book dentro da pasta Models como abaixo:

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace BookStoreApi.Models;

public class Book
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string? Id { get; set; }

[BsonElement("Name")]
public string BookName { get; set; } = null!;

public decimal Price { get; set; }

public string Category { get; set; } = null!;

public string Author { get; set; } = null!;
}

Na classe anterior, a propriedade Id é:

  • Necessário para mapear o objeto Common Language Runtime (CLR) para a coleção MongoDB.
  • Anotado com [BsonId]para tornar esta propriedade a chave primária do documento.
  • Anotado com [BsonRepresentation(BsonType.ObjectId)]para permitir a passagem do parâmetro como tipo stringem vez de uma estrutura ObjectId . O Mongo lida com a conversão de stringpara ObjectId.

BookNamepropriedade é anotada com o [BsonElement]atributo. O valor do atributo Name representa o nome da propriedade na coleção do MongoDB.

Algumas configurações

Localize e abra o arquivo appsettings.json e adicione o código a seguir para configurar os parâmetros da base de dados:

{
"BookStoreDatabase": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "BookStore",
"BooksCollectionName": "Books"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

Adicione uma classe BookStoreDatabaseSettings ao diretório Models com o seguinte código: 

namespace BookStoreApi.Models;

public class BookStoreDatabaseSettings
{
public string ConnectionString { get; set; } = null!;

public string DatabaseName { get; set; } = null!;

public string BooksCollectionName { get; set; } = null!;
}

 

Introdução a API

API (Application Programming Interface) é um conjunto de regras e protocolos que permite que diferentes softwares se comuniquem entre si. Ela define os métodos e formatos de dados que os aplicativos podem usar para solicitar informações ou executar ações em um sistema externo.

Uma API pode ser considerada uma ponte que permite que aplicativos se conectem e interajam de forma padronizada. Ela define as operações disponíveis, os parâmetros necessários, os formatos de dados esperados e as respostas que serão retornadas. As APIs podem ser usadas para acessar recursos de um serviço web, banco de dados, biblioteca de software, sistema operacional e muito mais.

Existem diferentes tipos de APIs, incluindo:

  1. APIs da Web (Web APIs): Essas APIs permitem que aplicativos se comuniquem com serviços e recursos na web, como enviar solicitações HTTP para obter dados de uma API RESTful.
  2. APIs de Bibliotecas: São APIs fornecidas por bibliotecas de software que permitem que os desenvolvedores usem funcionalidades específicas dessa biblioteca em seus aplicativos.
  3. APIs de Sistemas Operacionais: Essas APIs fornecem acesso a recursos e funcionalidades do sistema operacional, como acesso à câmera, notificações push, armazenamento local e muito mais.
  4. APIs de Terceiros: São APIs fornecidas por empresas ou provedores de serviços externos, permitindo que os desenvolvedores acessem seus recursos e integrem funcionalidades de terceiros em seus aplicativos.

As APIs são amplamente utilizadas no desenvolvimento de aplicativos modernos, permitindo a integração de diferentes sistemas e serviços de forma eficiente. Elas promovem a reutilização de código, a modularidade, a escalabilidade e facilitam a colaboração entre desenvolvedores e empresas. Ao seguir as diretrizes de uma API, os desenvolvedores podem criar aplicativos que interagem de maneira confiável e consistente com outros sistemas.

Desenvolvido em WordPress & Tema por Anders Norén