ASP.NET Core 2.0 IMPLEMENTANDO APIS REST MULTIPLATAFORMA
Renato Groffe ◦ 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
Contatos http://renatogroffe.net/ /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe/@renato.groffe /canaldotnet
Agenda ◦ .NET Core, ASP.NET Core e .NET Standard: visão geral ◦ Desenvolvimento de APIs: uma visão geral ◦ Exemplos práticos
.NET Core – Primórdios ◦ Chamados inicialmente de ASP.NET vNext/.NET vNext e depois ASP.NET 5/.NET 5 ◦ Primeiros releases em 2014 ◦ Rebatizado como .NET Core 1.0 e ASP.NET Core 1.0 em Janeiro/2016 ◦ Um novo framework, completamente reescrito
ASP.NET Core e .NET Core – Visão geral ◦Multiplataforma: Windows, Linux e Mac ◦Atualmente na versão 2.0 (Agosto/2017)
ASP.NET Core – Open source ◦ Projeto hospedado no GitHub https://github.com/aspnet/Home
ASP.NET Core – Sites, serviços? ◦ Uma única arquitetura, com a unificação dos modelos MVC e Web API
ASP.NET Core – Cloud computing ◦Otimizado para a nuvem (cloud-ready)
ASP.NET Core – Estrutura dos projetos ◦Arquivos de configuração nos formato XML e JSON (por conta do MSBuild) ◦.csproj ao invés de project.json → Visual Studio 2017
ASP.NET Core – Arquitetura ◦ Mais enxuta e modular, baseada no modelo OWIN (projeto Katana) ◦ Mecanismo nativo para injeção de dependências ◦ Middlewares ◦ Fim do System.Web
ASP.NET Core – Hospedagem de soluções
ASP.NET Core – Hospedagem em Linux Apache
ASP.NET Core – Ferramentas Microsoft ◦Visual Studio 2017 ◦Visual Studio Code (Windows, Linux e Mac) ◦Visual Studio for Mac
ASP.NET Core – Editores em Linux Projeto OmniSharp: ◦ Atom ◦ Brackets ◦ Sublime ◦ Emacs ◦ Vim
ASP.NET Core – JetBrains Rider ◦Cross-plataform ◦IDE construída utilizando as tecnologias IntelliJ e ReSharper ◦Suporte a .NET, Mono e .NET Core
.NET Core e Visual Studio Code ◦ Utilização de linhas de comando ◦ Criação de novos projetos via .NET Core Command-Line Interface (CLI)
.NET CLI – Tipos de aplicações possíveis ◦ASP.NET Core Web Apps ◦ASP.NET Core Web APIs ◦Aplicações Console ◦Bibliotecas (Packages) ◦Projetos de Testes (MS Test, xUnit)
.NET Core – Algumas considerações ◦Muitos frameworks populares ainda não contam com uma versão estável para o .NET Core (NHibernate a caminho, por exemplo) ◦Não confundir o .NET Core com o .NET Full (.NET Framework 4.6/4.7, compatível apenas com ambientes Windows)
.NET Core – Algumas considerações Lançamentos de Agosto/2017: ◦ .NET Core 2.0 ◦ ASP.NET Core 2.0 ◦ Entity Framework Core 2.0 ◦ .NET Standard 2.0. Lançamentos de Outubro/2017: ◦ Visual Studio 2017 Update 15.4
Novidades do .NET Core 2.0 ◦Suporte ao C# 7.1 ◦Live Unit Testing a partir do Update 15.3 do Visual Studio 2017 ◦Suporte a VB.NET (alguns templates)
Novidades do ASP.NET Core 2.0 O metapackage Microsoft.AspnetCore.All ◦Agrupa todas as referências a packages do ASP.NET Core ◦Melhor gerenciamento das dependências de uma aplicação
Novidades do ASP.NET Core 2.0 Mudanças na classe Startup ◦Novo construtor ◦Dependências de IConfiguration resolvidas automaticamente, sem configurações adicionais ◦Ausência do parâmetro ILoggerFactory no método Configure
Novidades do ASP.NET Core 2.0 Restore automático após criação de projetos Configurações de web host
Exemplos práticos
Implementando APIs em Linux + +
Acesso a dados com EF Core
Acesso a dados com Dapper
Utilizando novos recursos do SQL Server +
Utilizando NoSQL +
Retornando códigos HTTP de erro
Compressão de respostas em APIs
Monitorando requisições com o Fiddler
Autenticação via JWT +
Consumindo uma API REST
Testes com Postman
Habilitando o uso de XML
Removendo valores nulos
Utilizando ResponseCache
Documentando APIs com Swagger
Utilizando o .NET Standard 2.0
Utilizando Docker +
Executando um container Docker + +
Dúvidas?
Obrigado!

Implementando APIs multiplataforma com ASP.NET Core 2.0 - Developers-SP - Outubro/2017