1. O Que é ASP.NET API?
O ASP.NET Core API é uma estrutura que permite criar APIs RESTful para fornecer dados e serviços para aplicações web, mobile ou qualquer cliente que precise se comunicar via HTTP. Ele é baseado no ASP.NET Core, a versão moderna e otimizada da plataforma .NET, projetada para oferecer desempenho, segurança e flexibilidade.
2. Criando uma API ASP.NET Core
Para criar uma API no ASP.NET Core, o primeiro passo é configurar um novo projeto de API. O Visual Studio ou a CLI do .NET permitem criar rapidamente um projeto utilizando o comando abaixo:
// Criando um novo projeto de API usando a CLI do .NET
dotnet new webapi -n MinhaApi
Esse comando gera uma estrutura de projeto que já inclui controladores básicos, o pipeline de requisições e o suporte para JSON via System.Text.Json
.
3. Criando um Controlador
Os controladores são responsáveis por lidar com as requisições HTTP e retornar as respostas adequadas. Abaixo está um exemplo de como criar um controlador simples que responde a requisições GET
:
// Exemplo de controlador em ASP.NET Core
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class ProdutosController : ControllerBase {
[HttpGet]
public IActionResult GetProdutos() {
var produtos = new List<string> { "Produto 1", "Produto 2", "Produto 3" };
return Ok(produtos);
}
}
No exemplo acima, o controlador ProdutosController
possui uma ação GetProdutos
que responde a uma requisição HTTP GET
retornando uma lista de produtos. O atributo ApiController
facilita o mapeamento e o roteamento automático das ações do controlador.
4. Trabalhando com Requisições HTTP
Em uma API, é comum lidar com diferentes tipos de requisições HTTP, como POST
, PUT
e DELETE
, além do GET
. Veja um exemplo de como adicionar um novo produto usando POST
:
// Exemplo de requisição POST para adicionar um produto
[HttpPost]
public IActionResult AdicionarProduto([FromBody] string produto) {
// Lógica para adicionar o produto
return CreatedAtAction(nameof(GetProdutos), new { id = 1 }, produto);
}
A ação AdicionarProduto
recebe um parâmetro produto
via [FromBody]
, indicando que os dados virão no corpo da requisição HTTP. A resposta usa o método CreatedAtAction
para retornar o status 201 Created
junto com o recurso recém-criado.
5. Validação de Dados
A validação de dados é uma prática importante ao construir APIs, garantindo que os dados recebidos estejam no formato correto. O ASP.NET Core oferece suporte para validações automáticas utilizando Data Annotations. Veja como adicionar validação a um modelo de produto:
// Exemplo de modelo com validação
public class Produto {
[Required]
public string Nome { get; set; }
[Range(1, 100)]
public decimal Preco { get; set; }
}
Ao usar o atributo [Required]
, garantimos que o campo Nome
seja obrigatório, enquanto [Range]
impõe uma restrição de valor para o campo Preco
. Se a validação falhar, o ASP.NET Core retornará automaticamente um erro de 400 Bad Request
.
6. Documentação com Swagger
Uma boa prática ao criar APIs é incluir uma documentação interativa que permita aos desenvolvedores testar e explorar os endpoints da API. O ASP.NET Core facilita isso com o Swagger. Para configurar o Swagger, adicione os pacotes necessários e registre o middleware no projeto.
// Adicionando o Swagger no projeto
public void ConfigureServices(IServiceCollection services) {
services.AddSwaggerGen();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Minha API v1");
});
}
O Swagger gerará automaticamente uma página com a documentação interativa de todos os endpoints da sua API, facilitando o consumo da API por outros desenvolvedores.
Conclusão
Construir uma API com o ASP.NET Core permite criar serviços robustos, escaláveis e de alto desempenho. Desde a criação de controladores simples até a integração com bancos de dados e a implementação de segurança avançada, o ASP.NET Core API oferece as ferramentas necessárias para criar APIs modernas que atendam às necessidades de diversas aplicações. Seguir boas práticas, como validação de dados e documentação com Swagger, garantirá que sua API seja fácil de usar e mantenha um alto nível de qualidade.