REST no ASP.NET Core

Concluído

Quando você navega para uma página da Web, o servidor Web se comunica com seu navegador usando HTML, CSS e JavaScript. Por exemplo, se você interagir com a página enviando um formulário de logon ou selecionando um botão de compra, o navegador enviará as informações de volta ao servidor Web.

De maneira semelhante, os servidores Web podem se comunicar com uma ampla gama de clientes (navegadores, dispositivos móveis, outros servidores Web e muito mais) usando serviços Web. Clientes de API se comunicam com o servidor por HTTP, e os dois trocam informações usando um formato de dados como JSON ou XML. As APIs são frequentemente usadas em SPAs (aplicativos de página única) que executam a maior parte da lógica da interface do usuário em um navegador da Web. A comunicação com o servidor Web acontece principalmente por meio de APIs Web.

REST: um padrão comum para criar APIs com HTTP

REST (Transferência de Estado Representacional) é um estilo de arquitetura para a criação de serviços Web. As solicitações REST são feitas por HTTP. Elas usam os mesmos verbos HTTP que os navegadores da Web usam para recuperar páginas da Web e enviar dados para servidores. Os verbos são:

  • GET: recupere dados do serviço Web.
  • POST: crie um novo item de dados no serviço Web.
  • PUT: atualize um item de dados no serviço Web.
  • PATCH: atualize um item de dados no serviço Web, descrevendo um conjunto de instruções sobre como o item deve ser modificado. O aplicativo de exemplo neste módulo não usa esse verbo.
  • DELETE: exclua um item de dados no serviço Web.

APIs de serviço Web que aderem ao REST são chamadas de APIs RESTful. Elas são definidas usando:

  • Um URI de base.
  • métodos HTTP, como GET, POST, PUT, PATCH ou DELETE.
  • Um tipo de mídia para os dados, como JSON (JavaScript Object Notation) ou XML.

Geralmente, uma API precisa fornecer serviços para algumas coisas diferentes e relacionadas. Por exemplo, nossa API de pizza pode gerenciar pizzas, clientes e pedidos. Usamos roteamento para mapear URIs (identificadores de recurso uniformes) para divisões lógicas em nosso código, de modo que as solicitações para https://localhost:5000/pizza sejam roteadas para PizzaController, e as solicitações para https://localhost:5000/order sejam roteadas para OrderController.

Benefícios de criar APIs no ASP.NET Core

Com o ASP.NET, você pode usar a mesma estrutura e padrões para criar páginas da Web e serviços. Você pode reutilizar classes de modelo e lógica de validação e até mesmo atender páginas da Web e serviços lado a lado no mesmo projeto. Essa abordagem tem benefícios:

  • Serialização simples: o ASP.NET foi projetado para experiências modernas na Web. Os pontos de extremidade serializam automaticamente suas classes para JSON formatado corretamente de maneira pré-configurada. Nenhuma configuração especial é necessária. Você pode personalizar a serialização para pontos de extremidade com requisitos exclusivos.

  • Autenticação e autorização: para segurança, os pontos de extremidade da API têm suporte integrado para Tokens Web JSON (JWTs) padrão do setor. A autorização baseada em políticas oferece a flexibilidade de definir regras de controle de acesso poderosas no código.

  • Roteamento ao lado de seu código: ASP.NET permite definir rotas e verbos em linha com seu código, usando atributos. Os dados do caminho da solicitação, da cadeia de consulta e do corpo da solicitação são associados automaticamente aos parâmetros do método.

  • HTTPS por padrão: o HTTPS é uma parte importante das APIs Web modernas e profissionais. Ele se baseia na criptografia de ponta a ponta para fornecer privacidade e ajudar a garantir que as chamadas à API não sejam interceptadas e alteradas entre o cliente e o servidor.

    O ASP.NET fornece suporte para HTTPS pronto para uso. Ele gera automaticamente um certificado de teste e o importa facilmente para habilitar o HTTPS local, para que você execute e depure aplicativos com segurança antes de publicá-los.

Compartilhar código e conhecimento com aplicativos .NET

Você pode usar suas habilidades e o ecossistema do .NET para compartilhar lógica de sua API Web com outros aplicativos criados com .NET, incluindo dispositivos móveis, Web, desktop e serviços.

Testando APIs Web usando o REPL HTTP do .NET

Ao desenvolver um site tradicional, você geralmente exibe e testa seu trabalho em um navegador da Web. As APIs da Web aceitam e retornam dados em vez de HTML, de modo que um navegador da Web não é a melhor ferramenta para testes de APIs Web.

Uma das opções mais fáceis para explorar e interagir com APIs Web é o REPL (loop ler/avaliar/imprimir) HTTP do .NET. Trata-se de um modo simples e popular de criar ambientes de linha de comando interativos. Na próxima unidade, você cria uma API Web simples e interage com ela usando o REPL HTTP do .NET.

Verificar seus conhecimentos

1.

Qual dos casos de uso a seguir não é um motivo para criar uma API Web usando ASP.NET Core?