SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
• Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience
Contributor (MTAC)
• Mais de 15 anos de experiência na área de
Tecnologia
• Autor Técnico e Palestrante
• Um dos organizadores do Canal .NET e do
.NET São Paulo
Renato Groffe
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
Renato Groffe - Contatos
h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe
/canaldotnet
/renatogroff
Agenda
• ASP.NET Core: uma visão geral
• Dicas e Exemplos práticos
APIs REST - Contexto Atual
• Escalabilidade, disponibilidade e performance
• REST como principal estilo arquitetural
• Microserviços ganhando força
• Economia das APIs
• Emergência do padrão gRPC
ASP.NET Core – Visão Geral
• Atualmente na versão 2.2
• .NET Core 3.0 em Preview
• Aplicações Web mais leves e rápidas
• Multiplataforma (execução em Windows, Linux e
Mac)
• Suporte a Docker
Injeção de Dependências
• O ASP.NET Core conta desde as primeiras versões com um
mecanismo nativo de injeção de dependências
• Favorece Baixo Acoplamento
github.com/renatogroffe/ASPNETCore2.2_InjDependencias_APIs
Retornando XML numa API REST
• Ajuste que pode ser necessário devido à
necessidade de integração com projetos legados
github.com/renatogroffe/ASPNETCore2.2_XML_APIs
Middlewares
• Elementos centrais na arquitetura do ASP.NET Core
• Middlewares customizados também podem ser
implementados
github.com/renatogroffe/ASPNETCore2.2_API-CustomMiddleware
Removendo valores nulos no retorno de APIs
• Diminuição do tamanho das respostas geradas
por APIs
github.com/renatogroffe/ASPNETCore2.2_RemovendoNullAPIs
Comprimindo a resposta no retorno de APIs
• Maior redução do tamanho das respostas geradas
por APIs (GZip, Brotli)
github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-GZip-MiddlewareFilter
github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-Brotli-MiddlewareFilter
Executando middlewares como filtros
• Possibilidade de aplicar um middleware a uma
Action ou Controller específicos
github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-GZip-MiddlewareFilter
github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-Brotli-MiddlewareFilter
Health Checks
• Novo recurso do ASP.NET Core 2.2 que permite
monitorar a saúde de uma aplicação Web
github.com/renatogroffe/ASP.NET-Core-2.2_WebApp_Monitoramento
Redis: cache em aplicações Web
github.com/renatogroffe/ASPNETCore2.2_Sql_CacheRedis_API
Entity Framework Core
• Compatibilidade com bancos relacionais como
SQL Server, PostgreSQL, MySQL…
github.com/renatogroffe/ASP.NET-Core-2.2_AppInsights_HealthChecks_Predicates
Dapper: acesso a dados com maior performance
• Alternativa ao Entity Framework para acesso a
dados relacionais
github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
github.com/renatogroffe/Dapper_ASP.NETCore2.2_One-to-One
github.com/renatogroffe/Dapper_ASP.NETCore2.2_One-to-Many
O atributo ApiController
• Simplifica a implementação de APIs REST,
eliminando a necessidade de algumas convenções
de código; presente desde o ASP.NET Core 2.1
github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
Dapper.Contrib
• CRUDS implementados com Dapper de forma
mais simplificada
github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
Fluent Validation
• Maior simplicidade e flexibilidade na
implementação de regras de validação
github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
Suporte a JSON no SQL Server
• Evitar a escrita de várias classes para retorno de
informações e operações de transformação de
dados
github.com/renatogroffe/ASPNETCore2.2_SQLServer-JSON
ActionResult<T>
• Simplifica a codificação de instruções de retorno
em APIs REST
github.com/renatogroffe/MongoDB-DotNetCore2.2
MongoDB
• Solução NoSQL orientada a documentos e
multiplataforma
github.com/renatogroffe/MongoDB-DotNetCore2.2
API Conventions
• Novo recurso do ASP.NET Core 2.2 disponibilizado
com o objetivo de simplificar a documentação de
APIs REST com Swagger
github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
Documentação/Testes com Swagger
• Geração de um site documentando APIs com
pouquíssimo código, além de contar com
funcionalidades para testes
github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
HTTP REPL: testando APIs com o .NET Core 2.2
• Utilitário de linha (Global Tool) de comando para
teste de APIs REST que tiveram o Swagger
habilitado
IHttpClientFactory + Typed Client
• Alternativa para simplificar o consumo de APIs
REST em projetos ASP.NET Core e que utiliza a
classe HttpClient
github.com/renatogroffe/ASP.NET-Core-2.2_NASA-API
JWT (JSON Web Tokens)
• Uso de tokens criptografados
• Bearer Authentication
• Emprega HMAC ou RSA
• Tecnologia multiplataforma
• Tokens formados por 3 partes (Header, Payload e Signature)
github.com/renatogroffe/ASPNETCore2.2_JWT-Identity
JWT (JSON Web Tokens) - Utilização
Um exemplo de token
Consumindo uma API com Refit
• Solução mais simplificada para o consumo de
APIs REST, tendo compatibilidade com o .NET
Standard
github.com/renatogroffe/DotNetCore2.2_Refit-JWT
Testando APIs REST com PowerShell
• Solução multiplataforma (Windows, Linux,
macOS)
• Linguagem simples e intuitiva, com suporte à
geração de requisições HTTP
• Desenvolvimento via interface gráfica com
debugging e auto complete: Visual Studio Code
(com extensão própria)
• Excelente alternativa para teste de APIs REST
Código Resiliente com Polly
• Biblioteca para a implementação de tratamentos
de falha de maneira descomplicada
github.com/renatogroffe/DotNetCore2.2_HttpClient-JWT-Polly
Azure App Service
• Hospedagem de aplicações
• Publicação em Windows ou Linux e também
utilizando imagens Docker
• Suporta diversas stacks de desenvolvimento
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
Azure Web App for Containers
• Escalabilidade (vertical e horizontal)
• Suporte a HTTPS
• Uso de images Linux ou Windows
• Ótimo para projetos de médio e pequeno
porte
• Utilizada a imagem
renatogroffe/apicontagem-sdk-2-2
cURL
• Utilitário Linux/Unix que pode ser útil no envio de
múltiplas requisições testando uma API REST
Envio de 1000 requisições – Exemplo:
curl https://teste?[1-1000] -w "n"
.NET Core 3 – Suporte a JSON
• Namespace System.Text.Json e suas
novas classes mais performáticas:
Utf8JsonReader, Utf8JsonWriter,
JsonDocument e JsonSerializer
• Desde o Preview 5 temos suporte à
serialização de classes POCO (ainda
em desenvolvimento)
.NET Core 3 – Suporte a JSON
• Projetos Web ao serem não contam mais
com uma referência para o package
Microsoft.AspNetCore.Mvc.NewtonsoftJson
( Preview 6)
• Possibilidade de customizar o uso do novo
Serializer
ASP.NET Core 3.0 + gRPC
• Comunicação via HTTP/2 utilizando
um formato binário
• Uso do formato binário Protobuf para
serialização
• Maior performance
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
medium.com/@renato.groffe/

Más contenido relacionado

La actualidad más candente

Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Renato Groff
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Renato Groff
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Renato Groff
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Renato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...Renato Groff
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Renato Groff
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...Renato Groff
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...Renato Groff
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geralRenato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem....NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...Renato Groff
 
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São PauloExtração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São PauloRenato Groff
 
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...Renato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groffe
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Renato Groff
 

La actualidad más candente (20)

Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
Banco de Dados - Docker Compose + Bancos Relacionais: descomplicando a montag...
 
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
Desenvolvimento multiplataforma em .NET Core utilizando SQL Server 2019, Dock...
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Dezem...
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
5 Tecnologias que todo Desenvolvedor Web deveria conhecer - Developers-BR - O...
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
 
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - Arqui...
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem....NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
.NET, Microsoft Azure e Tecnologias Open Source - Americana Tech Conf - Novem...
 
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São PauloExtração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
Extração de Dados na Web com MongoDB e Selenium - TDC 2018 - São Paulo
 
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
APIs Multiplataforma com o ASP.NET Core: Presente e Futuro - .NET Conf Local ...
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
 

Similar a Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019

Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...Renato Groff
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Renato Groff
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...Renato Groff
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Renato Groff
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1tdc-globalcode
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloRenato Groff
 
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest....NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...Renato Groff
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018Renato Groff
 
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Renato Groff
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017Renato Groff
 
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017Renato Groff
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Renato Groff
 
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Renato Groff
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Renato Groffe
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
 Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-... Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...Renato Groff
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Renato Groff
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...Renato Groff
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017Renato Groff
 

Similar a Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019 (20)

Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
Dicas para simplificar o desenvolvimento de APIs REST em ASP.NET Core - .NET ...
 
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
Boas práticas na implementação de APIs REST com ASP.NET Core - Outubro-2019
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - Campinas...
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
 
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
TDC2018SP | Trilha .Net - Novidades do ASP.NET Core 2.1
 
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São PauloNovidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
Novidades do ASP.NET Core 2.1 - TDC 2018 - São Paulo
 
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest....NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...
.NET Core 3.0 e ASP.NET Core 3.0: novidades e dicas úteis - Qual o X da Quest...
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
.NET Core e ASP.NET Core: Presente e Futuro - .NET SP - Novembro/2018
 
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
Monitorando aplicações ASP.NET Core 2.2 com Health Checks, Application Insigh...
 
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - OneDay - Junho/2017
 
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
ASP.NET Core e Linux - ASP.NET Core Day - Maio/2017
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Out...
 
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
Sobrevoando os serviços do Azure | TDC Florianópolis Online 2020
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-2018
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
 Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-... Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - Pointer - Janeiro-...
 
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
Desenvolvendo APIs seguras com ASP.NET Core, JWT, Docker e Azure Web App for ...
 
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
Implementando APIs multiplataforma com ASP.NET Core 2.0 - .NET Conf Local 201...
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
 

Más de Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Renato Groff
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Renato Groff
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Renato Groff
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Renato Groff
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Renato Groff
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Renato Groff
 

Más de Renato Groff (20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
 

Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019

  • 2. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante • Um dos organizadores do Canal .NET e do .NET São Paulo Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  • 3. Renato Groffe - Contatos h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e / /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe /canaldotnet /renatogroff
  • 4. Agenda • ASP.NET Core: uma visão geral • Dicas e Exemplos práticos
  • 5. APIs REST - Contexto Atual • Escalabilidade, disponibilidade e performance • REST como principal estilo arquitetural • Microserviços ganhando força • Economia das APIs • Emergência do padrão gRPC
  • 6. ASP.NET Core – Visão Geral • Atualmente na versão 2.2 • .NET Core 3.0 em Preview • Aplicações Web mais leves e rápidas • Multiplataforma (execução em Windows, Linux e Mac) • Suporte a Docker
  • 7. Injeção de Dependências • O ASP.NET Core conta desde as primeiras versões com um mecanismo nativo de injeção de dependências • Favorece Baixo Acoplamento github.com/renatogroffe/ASPNETCore2.2_InjDependencias_APIs
  • 8. Retornando XML numa API REST • Ajuste que pode ser necessário devido à necessidade de integração com projetos legados github.com/renatogroffe/ASPNETCore2.2_XML_APIs
  • 9. Middlewares • Elementos centrais na arquitetura do ASP.NET Core • Middlewares customizados também podem ser implementados github.com/renatogroffe/ASPNETCore2.2_API-CustomMiddleware
  • 10. Removendo valores nulos no retorno de APIs • Diminuição do tamanho das respostas geradas por APIs github.com/renatogroffe/ASPNETCore2.2_RemovendoNullAPIs
  • 11. Comprimindo a resposta no retorno de APIs • Maior redução do tamanho das respostas geradas por APIs (GZip, Brotli) github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-GZip-MiddlewareFilter github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-Brotli-MiddlewareFilter
  • 12. Executando middlewares como filtros • Possibilidade de aplicar um middleware a uma Action ou Controller específicos github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-GZip-MiddlewareFilter github.com/renatogroffe/ASPNETCore2.2_RemocaoNulls-Brotli-MiddlewareFilter
  • 13. Health Checks • Novo recurso do ASP.NET Core 2.2 que permite monitorar a saúde de uma aplicação Web github.com/renatogroffe/ASP.NET-Core-2.2_WebApp_Monitoramento
  • 14. Redis: cache em aplicações Web github.com/renatogroffe/ASPNETCore2.2_Sql_CacheRedis_API
  • 15. Entity Framework Core • Compatibilidade com bancos relacionais como SQL Server, PostgreSQL, MySQL… github.com/renatogroffe/ASP.NET-Core-2.2_AppInsights_HealthChecks_Predicates
  • 16. Dapper: acesso a dados com maior performance • Alternativa ao Entity Framework para acesso a dados relacionais github.com/renatogroffe/ASPNETCore2.2_APIIndicadores github.com/renatogroffe/Dapper_ASP.NETCore2.2_One-to-One github.com/renatogroffe/Dapper_ASP.NETCore2.2_One-to-Many
  • 17. O atributo ApiController • Simplifica a implementação de APIs REST, eliminando a necessidade de algumas convenções de código; presente desde o ASP.NET Core 2.1 github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
  • 18. Dapper.Contrib • CRUDS implementados com Dapper de forma mais simplificada github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
  • 19. Fluent Validation • Maior simplicidade e flexibilidade na implementação de regras de validação github.com/renatogroffe/ASPNETCore2.2_DapperContrib_FluentValidation
  • 20. Suporte a JSON no SQL Server • Evitar a escrita de várias classes para retorno de informações e operações de transformação de dados github.com/renatogroffe/ASPNETCore2.2_SQLServer-JSON
  • 21. ActionResult<T> • Simplifica a codificação de instruções de retorno em APIs REST github.com/renatogroffe/MongoDB-DotNetCore2.2
  • 22. MongoDB • Solução NoSQL orientada a documentos e multiplataforma github.com/renatogroffe/MongoDB-DotNetCore2.2
  • 23. API Conventions • Novo recurso do ASP.NET Core 2.2 disponibilizado com o objetivo de simplificar a documentação de APIs REST com Swagger github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
  • 24. Documentação/Testes com Swagger • Geração de um site documentando APIs com pouquíssimo código, além de contar com funcionalidades para testes github.com/renatogroffe/ASPNETCore2.2_APIIndicadores
  • 25. HTTP REPL: testando APIs com o .NET Core 2.2 • Utilitário de linha (Global Tool) de comando para teste de APIs REST que tiveram o Swagger habilitado
  • 26. IHttpClientFactory + Typed Client • Alternativa para simplificar o consumo de APIs REST em projetos ASP.NET Core e que utiliza a classe HttpClient github.com/renatogroffe/ASP.NET-Core-2.2_NASA-API
  • 27. JWT (JSON Web Tokens) • Uso de tokens criptografados • Bearer Authentication • Emprega HMAC ou RSA • Tecnologia multiplataforma • Tokens formados por 3 partes (Header, Payload e Signature) github.com/renatogroffe/ASPNETCore2.2_JWT-Identity
  • 28. JWT (JSON Web Tokens) - Utilização
  • 29. Um exemplo de token
  • 30. Consumindo uma API com Refit • Solução mais simplificada para o consumo de APIs REST, tendo compatibilidade com o .NET Standard github.com/renatogroffe/DotNetCore2.2_Refit-JWT
  • 31. Testando APIs REST com PowerShell • Solução multiplataforma (Windows, Linux, macOS) • Linguagem simples e intuitiva, com suporte à geração de requisições HTTP • Desenvolvimento via interface gráfica com debugging e auto complete: Visual Studio Code (com extensão própria) • Excelente alternativa para teste de APIs REST
  • 32. Código Resiliente com Polly • Biblioteca para a implementação de tratamentos de falha de maneira descomplicada github.com/renatogroffe/DotNetCore2.2_HttpClient-JWT-Polly
  • 33. Azure App Service • Hospedagem de aplicações • Publicação em Windows ou Linux e também utilizando imagens Docker • Suporta diversas stacks de desenvolvimento • Escalabilidade (vertical e horizontal) • Suporte a HTTPS
  • 34. Azure Web App for Containers • Escalabilidade (vertical e horizontal) • Suporte a HTTPS • Uso de images Linux ou Windows • Ótimo para projetos de médio e pequeno porte • Utilizada a imagem renatogroffe/apicontagem-sdk-2-2
  • 35. cURL • Utilitário Linux/Unix que pode ser útil no envio de múltiplas requisições testando uma API REST Envio de 1000 requisições – Exemplo: curl https://teste?[1-1000] -w "n"
  • 36. .NET Core 3 – Suporte a JSON • Namespace System.Text.Json e suas novas classes mais performáticas: Utf8JsonReader, Utf8JsonWriter, JsonDocument e JsonSerializer • Desde o Preview 5 temos suporte à serialização de classes POCO (ainda em desenvolvimento)
  • 37. .NET Core 3 – Suporte a JSON • Projetos Web ao serem não contam mais com uma referência para o package Microsoft.AspNetCore.Mvc.NewtonsoftJson ( Preview 6) • Possibilidade de customizar o uso do novo Serializer
  • 38. ASP.NET Core 3.0 + gRPC • Comunicação via HTTP/2 utilizando um formato binário • Uso do formato binário Protobuf para serialização • Maior performance