overview do asp net web api n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Overview do ASP.NET Web API PowerPoint Presentation
Download Presentation
Overview do ASP.NET Web API

Loading in 2 Seconds...

play fullscreen
1 / 14

Overview do ASP.NET Web API - PowerPoint PPT Presentation


  • 150 Views
  • Uploaded on

Overview do ASP.NET Web API. MVC Summit 2012. Israel Aece http://www.israelaece.com ia@israelaece.com. Situação Atual Estrutura da API Infraestrutura Interceptadores Formatos Injeção de Dependências Testes Processamento Assíncrono Consumo Outros. Agenda. WCF

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Overview do ASP.NET Web API' - anika


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview do asp net web api

Overview doASP.NET Web API

MVC Summit 2012

Israel Aece

http://www.israelaece.com

ia@israelaece.com

agenda

SituaçãoAtual

  • Estrutura da API
  • Infraestrutura
  • Interceptadores
  • Formatos
  • Injeção de Dependências
  • Testes
  • ProcessamentoAssíncrono
  • Consumo
  • Outros
Agenda

ASP.NET Web API - MVC Summit 2012

situa o atual

WCF

    • Parte do .NET Framework
    • Construção de Serviços SOAP
    • Suportepara REST
  • WCF Web API
    • Tecnologiaparaconstrução de APIs REST
    • Descontinuada
    • Incorporadapelo ASP.NET
  • ASP.NET Web API
    • Parte do ASP.NET MVC 4
    • Emversão Beta (com Go-Live)
    • Desvinculada do .NET Framework
    • Plataforma Web da Microsoft
    • Via NuGet
Situaçãoatual

ASP.NET Web API - MVC Summit 2012

estrutura da api

Semelhante a construção de controllers do MVC

  • ApiController
    • Classe base paraqualquer API
    • Sufixada com “Controller”
  • Actions
    • Métodosquetratam as requisições
    • Parâmetros simples oucomplexos
    • HttpRequestMessage/<T>
    • HttpResponseMessage/<T>
    • HttpPost, HttpGet, HttpPut e HttpDelete
Estrutura da api

public class ExemploController : ApiController

{ public string Get(string value) { }

public HttpResponseMessage Get(HttpRequestMessage request) { }

public HttpResponseMessage<Protocolo> Post(Pedido request) { }

[HttpGet]

public IEnumerable<Cliente> RecuperarClientes() { }}

ASP.NET Web API - MVC Summit 2012

infraestrutura

Divididoemtrêscamadas

    • Hosting
      • WebHost
      • Self-Host
    • Message Handler Pipeline
    • Controller Handling
    • + Info: http://tinyurl.com/webapi-pa
  • Configuração
    • Baseadoemrotas
    • MapHttpRoute
infraestrutura

Controller

GetXXX

PostXXX

ApiController

Controller Dispatcher

HttpServer

Message Handler

Message Handler

using System.Web.Http;

routes.MapHttpRoute(

name: "ActionApi",

routeTemplate: "api/{controller}/{action}/{id}",

defaults: new { id = RouteParameter.Optional }

);

WebHost

SelfHost

ASP.NET Web API - MVC Summit 2012

interceptadores

Message Handlers

    • Rodam antes do model binding
      • Similar aoschannels do WCF
    • Lidam com as classes HttpRequestMessage e HttpResponseMessage
    • A mesmainstância é utilizadaportodas as operações da API
    • DelegatingHandler
      • Russian-dolls
  • Action Filters
    • Rodamdepois do model binding
      • Similar aosinspectors do WCF
    • Próximoaoquejáexiste no MVC
    • Aplicadoemváriaspartes
      • Açõesespecíficasou controllers inteiros
interceptadores

Cliente

Controller

MH1

HCD

MH4

MH2

MH3

HCH

HS

Internet

HCH: HttpClientHandler

HS: HttpServer

HCD: HttpControllerDispatcher

ASP.NET Web API - MVC Summit 2012

formatos

Identifica o formato do corpo da mensagem

    • Tanto a requisiçãoquanto a resposta
  • AlgunsFormatos
    • application/json
    • application/xml
    • application/x-www-form-urlencoded
    • text/html
    • image/png
  • Headers
    • Content-Type
      • Identifica o formato do corpoda mensagem
    • Accept
      • Indicaemqueformato o clientedeseja a resposta
  • Media Type Mappings
  • Estensível via MediaTypeFormatter
Formatos

ASP.NET Web API - MVC Summit 2012

inje o de depend ncias

Próximoaoquejáexiste no MVC

  • Utilizadopelainfraestrutura
  • Podeserutilizadoparaextrairrecursospróprios
  • Também é estensível
    • Permiteplugar um container de DI
  • IDependencyResolver
Injeção dedependências

ASP.NET Web API - MVC Summit 2012

testes

Semobjetosestáticos

    • WebOperationContext.Current
      • WCFMock
  • Parâmetrospodemserfornecidosatravés do construtor
    • Emruntime, podemosrecorreraoDependencyResolver
  • Manipulaçãodireta via HttpRequestMessage e HttpResponseMessage
    • Estão “desconectadas” da infraestrutura
    • In-memory hosting parafacilitaros testes
      • Semqualqueruso da rede
testes

ASP.NET Web API - MVC Summit 2012

processamento ass ncrono

Fazuso dos recursosincorporadosnalinguagem

  • A implementação é mais simples
    • IAsyncResults, Callbacks, Begin/End, etc.
  • No servidor
    • Melhorutilização dos recursos, escalabilidade
  • No cliente
    • Permiteumaaplicaçãomaisinterativa
Processamentoassíncrono

public class NoticiasRegionaisController : ApiController

{ public async Task<IEnumerable<Noticia>> Get(string cidade)

{

using (var client = new HttpClient())

return await

(awaitclient.GetAsync(“http://outroServidor/noticias/” + cidade))

.Content

.ReadAsync<IEnumerable<Noticia>>();

}}

ASP.NET Web API - MVC Summit 2012

consumo

Porqualquertecnologia

    • Sem WSDL
    • Acessoao(s) recurso(s)
    • Sem a necessidade de ferramental
  • Em .NET (System.Net)
    • HttpWebRequest/HttpWebResponse
    • WebClient
    • HttpClient
      • Flexibilidade
      • Com váriosfacilitadorespara o consumo de APIs REST.
consumo

ASP.NET Web API - MVC Summit 2012

outros

Consultas

    • IQueryable<T>
  • Autenticação
    • OAuth
    • Basic
    • JsonLogin
Outros

ASP.NET Web API - MVC Summit 2012

refer ncias

ASP.NET Web API – Site Oficial

    • http://www.asp.net/web-api
  • Pedro Félix
    • http://pfelix.wordpress.com/
  • Carlos Figueira
    • http://blogs.msdn.com/b/carlosfigueira/
  • Pablo Cibraro
    • http://weblogs.asp.net/cibrax/
  • Pedro Reys
    • http://pedroreys.com/
  • Elemar Junior
    • http://elemarjr.net/tag/rest/
  • Meu Blog
    • http://www.israelaece.com/?tag=/rest
Referências

ASP.NET Web API - MVC Summit 2012

overview do asp net web api1

Overview doASP.NET Web API

MVC Summit 2012

Israel Aece

http://www.israelaece.com

ia@israelaece.com