SlideShare uma empresa Scribd logo
1 de 21
Desenvolvendo APIs web na 
plataforma .NET 
André Baltieri 
Community Manager & SDE 
Microsoft MVP – ASP.NET/IIS
André Baltieri 
• Microsoft MVP ASP.NET/IIS 
• Trabalha desenvolvimento Web desde 2003 
• Experiência em projetos nacionais e internacionais
@andrebaltieri 
/andrebaltieri 
andrebaltieri@hotmail.com 
/andrebaltieri
Agenda 
Por que ter uma API? 
Quando utilizar? 
Performance 
Padronização 
Segurança 
CORS
Por que ter uma API?
APIs conhecidas
Quando utilizar?
Quando devo construir uma API? 
• Para o meu legado? 
• Para o meu aplicativo? 
• Para substituir meu WCF?
Algumas considerações
Considerações 
• Somente via HTTP! 
• Web API não substitui o WCF! 
• Arquitetura NÃO TEM receita de bolo! 
• Qual seu objetivo? 
• Levante estatísticas 
• Foco na solução
Otimizando a 
performance da sua API
ORMs
Serialização JSON
Outras considerações 
• Compressão 
• Cache 
• Async 
• Múltiplos Resultados
Padronizando a API
Padronizações 
• HTTP Messages 
• Minúsculo/Maiúsculo 
• Padronizando as rotas 
• Parâmetros nas rotas 
• Limitando a leitura de dados
Segurança
Segurança 
• Autenticação via Header 
• Limitando acesso via URL ou IP 
• oAuth
CORS
Obrigado! 
Treinamento de WebAPI 
http://bit.ly/webapi-13-09 
Treinamento de AngularJS 
http://bit.ly/ng-2709 
André Baltieri 
Community Manager & SDE 
Microsoft MVP – ASP.NET/IIS
www.brsolucoesintegradas.com.br

Mais conteúdo relacionado

Mais procurados

Power BI Report Server - A solução definitiva de BI e visualização de dados p...
Power BI Report Server - A solução definitiva de BI e visualização de dados p...Power BI Report Server - A solução definitiva de BI e visualização de dados p...
Power BI Report Server - A solução definitiva de BI e visualização de dados p...Dirceu Resende
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
Power BI: DirectQuery, Live Connection e Import
Power BI: DirectQuery, Live Connection e ImportPower BI: DirectQuery, Live Connection e Import
Power BI: DirectQuery, Live Connection e ImportDirceu Resende
 
.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
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIAndre Baltieri
 
Resolvendo integrações entre sistemas com serverless | TDC 2018
Resolvendo integrações entre sistemas com serverless | TDC 2018Resolvendo integrações entre sistemas com serverless | TDC 2018
Resolvendo integrações entre sistemas com serverless | TDC 2018Salvador Torres
 
Kerio Presentation
Kerio PresentationKerio Presentation
Kerio Presentationrluccakerio
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...Bruno Luiz Pereira da Silva
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleansakamud
 

Mais procurados (20)

Serverless em Go
Serverless em GoServerless em Go
Serverless em Go
 
Power BI Report Server - A solução definitiva de BI e visualização de dados p...
Power BI Report Server - A solução definitiva de BI e visualização de dados p...Power BI Report Server - A solução definitiva de BI e visualização de dados p...
Power BI Report Server - A solução definitiva de BI e visualização de dados p...
 
Api todo list
Api todo listApi todo list
Api todo list
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 
Computação em Nuvem com Microsoft Azure
Computação em Nuvem com Microsoft AzureComputação em Nuvem com Microsoft Azure
Computação em Nuvem com Microsoft Azure
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
Power BI: DirectQuery, Live Connection e Import
Power BI: DirectQuery, Live Connection e ImportPower BI: DirectQuery, Live Connection e Import
Power BI: DirectQuery, Live Connection e Import
 
.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 |...
 
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPIMVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
MVP ShowCast 2014 - Desenvolvendo APIs com WebAPI
 
Resolvendo integrações entre sistemas com serverless | TDC 2018
Resolvendo integrações entre sistemas com serverless | TDC 2018Resolvendo integrações entre sistemas com serverless | TDC 2018
Resolvendo integrações entre sistemas com serverless | TDC 2018
 
Kerio Presentation
Kerio PresentationKerio Presentation
Kerio Presentation
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
 
4 passos para a Transformação Digital
4 passos para a Transformação Digital4 passos para a Transformação Digital
4 passos para a Transformação Digital
 
Ricardo - PWA
Ricardo - PWARicardo - PWA
Ricardo - PWA
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleans
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 
Preparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicosPreparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicos
 

Semelhante a Desenvolvendo APIs .NET

DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...iMasters
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Datatdc-globalcode
 
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless WSO2
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.AlexSandro Cruz
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web APIVinicius Mussak
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesiMasters
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Deck apix 2017 design & security - case cielo lio
Deck apix 2017   design & security - case cielo lioDeck apix 2017   design & security - case cielo lio
Deck apix 2017 design & security - case cielo lioLuis Moraes Junior
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Rafael Schettino
 
Monitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIMonitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIDirceu Resende
 
Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Nicolas Takashi
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 

Semelhante a Desenvolvendo APIs .NET (20)

DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
DevCommerce Conference 2016 - Workshop: Velocidade e confiabilidade em e-comm...
 
Introdução ao AngularJS!
Introdução ao AngularJS!Introdução ao AngularJS!
Introdução ao AngularJS!
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big DataTDC2016SP - Construindo Web APIs em Java na era do Big Data
TDC2016SP - Construindo Web APIs em Java na era do Big Data
 
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
WSO2 API Forum Brazil - Adotando APIs e Microserviços com Serverless
 
Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.Sua Startup precisa de uma WebAPI.
Sua Startup precisa de uma WebAPI.
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
APIs para Startups
APIs para StartupsAPIs para Startups
APIs para Startups
 
Workshop ASP.NET MVC 5
Workshop ASP.NET MVC 5Workshop ASP.NET MVC 5
Workshop ASP.NET MVC 5
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
Deck apix 2017 design & security - case cielo lio
Deck apix 2017   design & security - case cielo lioDeck apix 2017   design & security - case cielo lio
Deck apix 2017 design & security - case cielo lio
 
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
Otimização de Desempenho de Websites desenvolvidos em Microsoft ASP.NET e hos...
 
Monitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BIMonitorando seu ambiente SQL server com o Power BI
Monitorando seu ambiente SQL server com o Power BI
 
Design de RESTful APIs
Design de RESTful APIsDesign de RESTful APIs
Design de RESTful APIs
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5Desenvolvendo API's com asp.net 5
Desenvolvendo API's com asp.net 5
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 

Mais de Andre Baltieri

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Andre Baltieri
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter TalksAndre Baltieri
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de UnidadeAndre Baltieri
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIsAndre Baltieri
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureAndre Baltieri
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2Andre Baltieri
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETAndre Baltieri
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptAndre Baltieri
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e AlémAndre Baltieri
 
Introdução ao Native Script
Introdução ao Native ScriptIntrodução ao Native Script
Introdução ao Native ScriptAndre Baltieri
 
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignCriando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignAndre Baltieri
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETAndre Baltieri
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoAndre Baltieri
 
5509 segurança em ap is
5509   segurança em ap is5509   segurança em ap is
5509 segurança em ap isAndre Baltieri
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patternsAndre Baltieri
 

Mais de Andre Baltieri (20)

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de Unidade
 
PWA: State of Art
PWA: State of ArtPWA: State of Art
PWA: State of Art
 
PWAs no seu Desktop
PWAs no seu DesktopPWAs no seu Desktop
PWAs no seu Desktop
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIs
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft Azure
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
 
BaaS com Firebase 3
BaaS com Firebase 3BaaS com Firebase 3
BaaS com Firebase 3
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScript
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
Introdução ao Native Script
Introdução ao Native ScriptIntrodução ao Native Script
Introdução ao Native Script
 
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignCriando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do Desenvolvimento
 
5509 segurança em ap is
5509   segurança em ap is5509   segurança em ap is
5509 segurança em ap is
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 

Desenvolvendo APIs .NET