ASP.NET Core 2.2: 27 exemplos com implementações de APIs REST Multiplataforma
Recentemente participei como palestrante em um Workshop sobre o desenvolvimento de APIs REST multiplataforma com o ASP.NET Core, com demonstrações práticas baseadas no .NET Core 2.2 e 3.0. Os slides desta apresentação já estão inclusive no SlideShare:
Neste novo post trago 27 exemplos de implementação e/ou uso de APIs REST em ASP.NET Core 2.2. Todos esses projetos foram disponibilizados em repositórios que criei na minha conta do GitHub (deixo aqui o convite para se inscrever na mesma e acompanhar os conteúdos que produzo):
- ASPNETCore2.2_ApiController: exemplo de validações automáticas baseadas no atributo ApiController;
- ASPNETCore2.2_InjDependencias_APIs: exemplos de utilização de injeção de dependências em API REST;
- ASPNETCore2.2_ConfigJSON: exemplo de API REST com leitura e conversão de configurações do arquivo appsettings.json em objetos;
- ASPNETCore2.2_API-CustomMiddleware: Exemplo de implementação e uso de um middleware customizado em uma API REST;
- ASP.NET-Core-2.2_NASA-API: exemplo de consumo de uma API utilizando um Named Client. A API REST em questão foi disponibilizada gratuitamente pela NASA (Agência Espacial Norte-Americana);
- ASP.NET-Core-2.2_AppInsights_HealthChecks_Predicates: exemplo de implementação de uma API REST que faz uso de Entity Framework Core, SQL Server, Redis, Health Checks + Predicates e Azure Application Insights;
- ASPNETCore2.2_JWT-Identity: exemplo de uso em uma API REST de Entity Framework Core InMemory, Identity Core, JWT (JSON Web Token) e Bearer Authentication;
- ASPNETCore2.2_JWT-Identity-RefreshTokens: exemplo de utilização de Entity Framework Core InMemory, Identity Core, JWT (JSON Web Token), Bearer Authentication e Refresh Tokens em uma API REST;
- DotNetCore2.2_HttpClient-JWT: Console Application uma API REST protegida por tokens (JWT) em .NET Core 2.2 e utilizando a classe HttpClient;
- DotNetCore2.2_Refit-JWT: outro exemplo de consumo de uma API REST protegida por tokens (JWT) em uma Console Application criada com o .NET Core 2.2 e desta vez utilizando a biblioteca Refit (que contribui para a obtenção de um código mais enxuto);
- ASPNETCore2.2_Kubernetes: exemplo de utilização conjunta de ASP.NET Core 2.2, Docker, Linux, Kubernetes e o serviço AKS (Azure Kubernetes Service);
- ASP.NET-Core-2.2_API_Docker-Compose: exemplo de utilização de uma API REST baseada no ASP.NET Core 2.2 com Docker e Docker Compose;
- ASP.NET-Core-2.2_API_Docker-Compose_Alpine: exemplo de utilização de uma API criada com o ASP.NET Core 2.2 em conjunto com Docker e Docker Compose, além de geração de uma imagem Alpine;
- ASPNETCore2.2_Sql_CacheRedis_API: API que utiliza o Redis para a implementação de cache distribuído;
- ASPNETCore2.2_APIIndicadores: exemplo de implementação de uma API REST de indicadores econômicos utilizando Swagger (para documentação), Dapper e o SQL Server;
- Dapper_ASP.NETCore2.2_One-to-One: exemplo de implementação de relacionamento um-para-um com Dapper;
- Dapper_ASP.NETCore2.2_One-to-Many: implementação de relacionamento um-para-muitos com Dapper e o framework Slapper.AutoMapper;
- ASPNETCore2.2_SQLServer-JSON: exemplo de uso do suporte a JSON do SQL Server facilitando a implementação de APIs com ASP.NET Core 2.2;
- Dapper.Contrib_ASP.NETCore2.2: API que faz uso do Dapper.Contrib, framework que em conjunto com o Dapper simplifica a implementação de CRUDs;
- MongoDB-DotNetCore2.2: repositório com API REST que utiliza uma base de dados do MongoDB;
- DocumentDB-DotNetCore2.2: repositório com API que faz uso de uma base de dados do DocumentDB / Azure Cosmos DB;
- ASPNETCore2.2_RemovendoNullAPIs: exemplo de API na qual foi configurada a remoção de valores nulos nas respostas em JSON;
- ASPNETCore2.2_RemocaoNulls-GZip: API REST na qual se faz uso de configurações para remoção de valores nulos, além da compressao de respostas utilizando o padrão GZip;
- ASPNETCore2.2_RemocaoNulls-Brotli: Exemplo de API REST no qual se faz uso de configurações para remoção de valores nulos, além da compressao de respostas utilizando o padrão Brotli;
- ASPNETCore2.2_RemocaoNulls-GZip-MiddlewareFilter: API REST na qual se faz uso de configurações para remoção de valores nulos, além da compressao de respostas utilizando o padrão GZip via MiddlewareFilter (em uma Action específica);
- ASPNETCore2.2_RemocaoNulls-Brotli-MiddlewareFilter: exemplo de API REST no qual se faz uso de configurações para remoção de valores nulos, além da compressao de respostas utilizando o padrão Brotli via MiddlewareFilter (em uma Action específica);
- ASPNETCore2.2_XML_APIs: exemplo de API configurada para retornar respostas também no formato XML.
Outros exemplos e artigos abordando o uso do ASP.NET Core 2.2 e do .NET Core 2.2 podem ser encontrados nos seguintes links:
.NET Core 2.2 e ASP.NET Core 2.2: Guia de Referência
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor — Parte 1
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor — Parte 2
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor — Parte 3
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor — Parte 4
ASP.NET Core + Health Checks: monitorando a saúde de uma aplicação via dashboard
Monitorando aplicações Web com o Azure Application Insights — MVPConf LATAM 2019
ASP.NET Core 2.2 + Application Insights: monitorando a disponibilidade dos BDs de uma aplicação
ASP.NET Core + Entity Framework Core: monitoramento descomplicado via Application Insights