REST no ASP.NET Core
- 3 minutos
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 login ou selecionando um botão comprar, o navegador enviará as informações de volta para o servidor Web.
Da mesma forma, 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. Os 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 aplicativos de página única (SPAs) 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 através de APIs web.
REST: Um padrão comum para criar APIs com HTTP
Representational State Transfer (REST) é um estilo arquitetônico para a criação de serviços Web. As solicitações REST são feitas por HTTP. Eles 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: Excluir um item de dados no serviço Web.
As APIs de serviço Web que aderem ao REST são chamadas de APIs RESTful. Eles são definidos através de:
- Um URI de base.
- Métodos HTTP, como
GET, , ,POSTPUT, ouPATCHDELETE. - Um tipo de mídia para os dados, como JavaScript Object Notation (JSON) ou XML.
Uma API geralmente precisa fornecer serviços para algumas coisas diferentes, mas relacionadas. Por exemplo, nossa API de pizza pode gerenciar pizzas, clientes e pedidos. Usamos o roteamento para mapear URIs (identificadores uniformes de recursos) para divisões lógicas no nosso código, de modo que as solicitações para https://localhost:5000/pizza sejam direcionadas para PizzaController e as solicitações para https://localhost:5000/order sejam direcionadas para OrderController.
Benefícios da criação de 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 servir páginas da Web e serviços lado a lado no mesmo projeto. Esta abordagem tem benefícios:
Serialização simples: ASP.NET foi projetado para experiências modernas na web. Os pontos de extremidade serializam automaticamente as suas classes para JSON devidamente formatado, pronto para uso desde o início. Nenhuma configuração especial é necessária. Você pode personalizar a serialização dos endpoints que têm requisitos exclusivos.
Autenticação e autorização: por segurança, os pontos de extremidade de API têm suporte interno para JWTs (JSON Web Tokens) padrão do setor. A autorização baseada em políticas oferece a flexibilidade de definir regras poderosas de controle de acesso no código.
Roteamento junto com seu código: ASP.NET permite definir rotas e verbos alinhados com seu código usando atributos. Os dados do caminho da solicitação, da cadeia de caracteres da consulta e do corpo da solicitação são automaticamente vinculados aos parâmetros do método.
HTTPS por padrão: HTTPS é uma parte importante das APIs da Web modernas e profissionais. Ele depende de criptografia de ponta a ponta para fornecer privacidade e ajudar a garantir que suas chamadas de API não sejam intercetadas e alteradas entre cliente e servidor.
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ê possa executar e depurar seus aplicativos com segurança antes de publicá-los.
Compartilhe código e conhecimento com aplicativos .NET
Você pode usar suas habilidades e ecossistema do .NET para compartilhar lógica de sua API da Web para outros aplicativos criados com o .NET, incluindo dispositivos móveis, Web, desktop e serviços.
Testando APIs da Web usando o .NET HTTP REPL
Quando você está desenvolvendo um site tradicional, geralmente visualiza e testa seu trabalho em um navegador da Web. As APIs da Web aceitam e retornam dados em vez de HTML, portanto, um navegador da Web não é a melhor ferramenta de teste de API da Web.
Uma das opções mais fáceis para explorar e interagir com APIs da Web é o .NET HTTP REPL (loop de leitura-avaliação-impressão). É uma maneira simples e popular de criar ambientes de linha de comando interativos. Na próxima unidade, você cria uma API da Web simples e, em seguida, interage com ela usando o .NET HTTP REPL.