ASP.NET WebApi : Iniciando com MVC4 - Parte 1

watch_later 10 de mar de 2014
Introdução

Passei os último ano trabalhando com ASP.NET e ASP.NET MVC e ano passado comecei a estudar novas ténicas com MVC4. Eu tenho algumas novidades para explicar usando as novas funcionalidades após a atualização para MVC4, Web API é uma dessas características fantásticas. Eu li muito sobre esse recurso e li um monte de bons artigos na web , principalmente no codeproject , e acabei tomando base neles para criar esse artigo em português, como eu não achei um artigo que abrange todos os conceitos em um só lugar , resolvi então fazer postagens de intro e avançadas. Vamos começar nessa série com uma introdução , eu tentei combinar coisas do site da Microsoft , com os sites codeproject e ScottGu's e abordei assuntos para iniciantes. Por favor, não considere este artigo como minha própria invenção .. tudo é tomado a partir de vários artigos , como disse antes.

Pré-Requisitos

  • ASP.NET MVC 4
  • Você pode usar WebApi com MVC3 , basta instalar usando o Nuget
  • Ou use o Console Package Manager e digite: Install-Package AspNetWebApi.
O que é API Web ASP.NET?

API Web ASP.NET é um framework para a construção e consumo de serviços HTTP que podem chegar a uma ampla gama de clientes, incluindo navegadores, celulares e tablets. Você pode usar XML ou JSON ou qualquer outra coisa com sua API. JSON é bom para aplicativos móveis com conexões lentas, por exemplo. Você pode chamar uma API do jQuery e utilizar melhor a máquina do cliente e navegador. 

Nestes artigos, vou tentar mostrar as operações de banco de dados básicos (CRUD) em um serviço HTTP usando a API Web ASP.NET. Muitos serviços HTTP também operações CRUD modelo através de repouso ou descanso-como APIs.




Por que usar a WebApi ASP.NET?

ASP.NET WebApi é construído para todas as interações não-humanas necessários para apoiar seu site ou serviço  . Pense sobre o código jQuery que está fazendo uma solicitação do Ajax , ou uma interface de serviço que suporta um cliente mobile. Nestes casos, os pedidos são provenientes de código e esperam algum tipo de dados estruturados e códigos específicos de status HTTP.
Estes dois tipos de clientes são bons de serem implementados individualmente , mas porém são péssimos para quem está tentando construir serviços HTTP utilizando ASP.NET MVC usar em conjunto. A inclusão da ASP.NET WebAPI  no ASP.NET MVC (e conseguir disponibilizar em outro lugar, incluindo páginas da Web ) significa que você pode construir serviços HTTP de alto nível em um aplicativo ASP.NET MVC , aproveitando-se de uma base comum e utilizando os mesmos paradigmas subjacentes .

ASP.NET WebAPI   inclui suporte para os seguintes recursos:



  • Modelo de programação HTTP moderna: É póssivel acessar diretamente e manipular as solicitações e respostas HTTP em suas WebAPIs  usando um novo modelo de objetos HTTP, com rigidez . O mesmo modelo de programação e HTTP pipeline é simetricamente disponível no cliente através do novo tipo HttpClient .


  • O suporte total para as rotas : Web APIs agora suportam o conjunto completo de recursos de rotas que têm sido sempre uma parte da pilha da Web, incluindo parâmetros de rota e restrições. Além disso , o mapeamento de ações tem suporte completo para convenções , e você não precisa aplicar atributos como [ HttpPost ] para suas classes e métodos.
  • Negociação de Conteúdo: O cliente e o servidor podem trabalhar em conjunto para determinar o formato correto para os dados que estão sendo devolvidos a partir de uma API. Oferece suporte padrão para XML, JSON, e Form formatos codificadas em URL , e você pode estender este apoio adicionando seus próprios formatadores , ou mesmo substituir a estratégia de negociação de conteúdo padrão. Model Binding e Validation : Models Binders fornecem uma maneira fácil de extrair dados de várias partes de um request HTTP e converter essas partes da mensagem em objetos do .NET que podem ser usadas pelas ações do WebAPI . 
  • Filtros: Web APIs agora suporta filtros , incluindo filtros bem conhecidas, tais como o atributo [Authorize] . Você pode criar e conectar seus próprios filtros para as ações , a autorização e manipular exceptions.
  • Composição de consulta : por simplesmente retornar  IQueryable<T> , sua WebAPI  apoiará consulta através das convenções de URL OData .
  • Melhoria da capacidade de teste HTTP : Em vez de definir detalhes HTTP em objetos estáticos de contexto , as ações da  WebAPI podem agora trabalhar com casos de HttpRequestMessage e HttpResponseMessage . As versões genéricas desses objetos também existem para permitir que você trabalhe com seus tipos personalizados , além dos tipos de HTTP.
  • Melhoria da inversão de controle ( IoC) via DependencyResolver : WebAPI  agora usa o padrão de localizador de serviços implementado pela DependecyResolver do MVC para obter instâncias e facilitar o uso dos serviços.
  • Configuração baseada em código: configuração WebAPI é realizado unicamente por meio de código , deixando seus arquivos de configuração limpos.
  • Self- host: WebAPIs pode ser hospedado em seu próprio processo , além de IIS enquanto ainda estiver usando o poder de rotas e de outras características da Web API .

Bom , por enquanto é só , abaixo estão os links para as outras partes , Até a próxima.

Postagens da Mesma série :

Parte 1
Parte 2

Parte 3
Parte 4