Tutorial de Serviços Web RESTful: Exemplo de API REST
⚡ Resumo Inteligente
Os serviços web RESTful oferecem uma abordagem leve e sem estado para que as aplicações troquem dados via HTTP usando verbos padrão. Eles expõem recursos de forma limpa. URLs, permitindo comunicação escalável e independente de plataforma entre clientes distribuídos, servidores, dispositivos móveis e plataformas modernas de nuvem e IA.
O que são serviços da Web repousantes?
Serviços da Web Restful É um serviço leve, de fácil manutenção e escalável, construído sobre a arquitetura REST. Um serviço web RESTful expõe uma API da sua aplicação de forma segura, uniforme e sem estado para o cliente que a invoca. O cliente pode então executar operações predefinidas utilizando o serviço RESTful. O protocolo subjacente ao REST é o HTTP, e REST significa Transferência de Estado Representacional (Representational State Transfer).
Em termos simples, REST define uma maneira padronizada para que recursos, como documentos, imagens ou registros de banco de dados, sejam criados, lidos, atualizados e excluídos pela web. Como se baseia no protocolo HTTP puro, praticamente qualquer linguagem de programação ou dispositivo pode consumir um serviço RESTful sem ferramentas especiais.
Por que usar serviços web RESTful?
Antes de explorar os detalhes técnicos, é útil entender por que o REST se tornou tão popular. Os serviços web RESTful ganharam destaque pelos seguintes motivos:
1. Linguagens e ambientes heterogêneos – Esta é uma das razões fundamentais, a mesma que vimos para SABÃO tão bem.
- Permite que aplicações web construídas em diversas linguagens de programação se comuniquem entre si.
- Com a ajuda de serviços RESTful, esses aplicativos da web podem residir em diferentes ambientes; alguns podem estar em Windows, e outros podem estar no Linux.
No final das contas, independentemente do ambiente, o resultado deve ser sempre o mesmo: os aplicativos devem ser capazes de se comunicar entre si. Os serviços web RESTful oferecem essa flexibilidade a aplicativos desenvolvidos em diversas linguagens de programação e plataformas.
A imagem abaixo mostra um exemplo de uma aplicação web que precisa se comunicar com outras aplicações, como Facebook, Twitter e... Google.
Se um aplicativo cliente precisasse interagir com sites como Facebook e Twitter, os desenvolvedores normalmente precisariam saber em qual linguagem e plataforma esses sites foram construídos. Com base nisso, eles poderiam escrever o código de interface, mas essa abordagem poderia se revelar um pesadelo para manter.
Em vez disso, Facebook, Twitter e Google expõem suas funcionalidades na forma de serviços web RESTful. Isso permite que qualquer aplicação cliente invoque esses serviços web via REST, independentemente da tecnologia subjacente.
2. O evento dos Dispositivos – Hoje em dia tudo precisa funcionar Mobile dispositivos, sejam eles um telefone celular, um notebook ou até mesmo um sistema de carro.
Imagine o esforço necessário para programar aplicativos nesses dispositivos para que se comuniquem com aplicativos web comuns. Novamente, as APIs RESTful simplificam essa tarefa porque, como mencionado no primeiro ponto, você realmente não precisa conhecer a camada subjacente do dispositivo.
3. O evento da Nuvem – Tudo está migrando para a nuvem. Os aplicativos estão gradualmente migrando para sistemas baseados em nuvem, como... Azure or Amazon. Azure e Amazon Muitas APIs baseadas na arquitetura RESTful são disponibilizadas. Portanto, os aplicativos agora precisam ser desenvolvidos de forma a serem compatíveis com a nuvem. Como todas as arquiteturas baseadas em nuvem funcionam com base no princípio REST, faz sentido que os serviços web sejam programados em uma arquitetura REST para melhor aproveitar os serviços em nuvem.
Elementos-chave RESTful
Os serviços web REST percorreram um longo caminho desde a sua criação. Em 2002, o Consórcio Web lançou a definição de WSDL e serviços web SOAP. Isso estabeleceu o padrão de como os serviços web seriam implementados.
Em 2004, o consórcio da web também lançou a definição de um padrão adicional chamado RESTful. Ao longo dos últimos anos, esse padrão tornou-se bastante popular e agora é usado por muitos dos sites mais populares do mundo, incluindo Facebook e Twitter.
REST é uma forma de acessar recursos que residem em um ambiente específico. Por exemplo, você pode ter um servidor que hospeda documentos importantes, imagens ou vídeos. Todos esses são exemplos de recursos. Se um cliente, como um navegador da web, precisar de algum desses recursos, ele precisa enviar uma solicitação ao servidor. Os serviços REST definem uma maneira padronizada de acessar esses recursos.
Os principais elementos de uma implementação RESTful são os seguintes:
- Recursos – O primeiro elemento-chave é o próprio recurso. Suponhamos que uma aplicação web em um servidor contenha registros de vários funcionários. Suponhamos que URL do aplicativo web é https://demo.guru99.comAgora, para acessar um registro de funcionário por meio de serviços REST, pode-se emitir o comando. https://demo.guru99.com/employee/1Este comando instrui o servidor web a fornecer os detalhes do funcionário cujo número de matrícula é 1.
- Solicitar Verbos – Essas instruções descrevem o que você deseja fazer com o recurso. Um navegador usa o verbo GET para instruir o endpoint a obter dados. No entanto, existem muitos outros verbos disponíveis, incluindo POST, PUT e DELETE. Portanto, no caso do exemplo https://demo.guru99.com/employee/1O navegador web está, na verdade, emitindo um verbo GET porque deseja obter os detalhes do registro do funcionário.
- Cabeçalhos de solicitação – Estas são instruções adicionais enviadas com a solicitação. Elas podem definir o tipo de resposta necessária ou os detalhes da autorização.
- Corpo da solicitação – Estes são os dados enviados com a requisição. Os dados normalmente são enviados no corpo da requisição quando uma requisição POST é feita para o serviço web REST. Em uma chamada POST, o cliente informa ao serviço web REST que deseja adicionar um recurso ao servidor. Portanto, o corpo da requisição conterá os detalhes do recurso que precisa ser adicionado.
- Corpo de resposta – Este é o corpo principal da resposta. Portanto, em nosso exemplo de API RESTful, se consultássemos o servidor web por meio da solicitação https://demo.guru99.com/employee/1, o servidor web pode retornar um documento XML com todos os detalhes do funcionário no corpo da resposta.
- Códigos de status de resposta – Esses são os códigos gerais retornados junto com a resposta do servidor web. Um exemplo é o código 200, que normalmente é retornado quando não há erros ao enviar uma resposta ao cliente.
Métodos Repousantes
O diagrama abaixo mostra a maioria dos verbos (POST, GET, PUT e DELETE) e um exemplo de API REST do que eles significam.
Vamos supor que temos um serviço web RESTful definido no local https://demo.guru99.com/employeeQuando o cliente faz uma requisição a este serviço web, ele pode especificar qualquer um dos verbos HTTP normais: GET, POST, DELETE e PUT. Abaixo, veja o que aconteceria se os respectivos verbos fossem enviados pelo cliente.
- POST – Isso seria usado para criar um novo funcionário utilizando o serviço web RESTful.
- ENTRE – Isso seria usado para obter uma lista de todos os funcionários que utilizam o serviço web RESTful.
- PUT – Isso seria usado para atualizar todos os funcionários que utilizam o serviço web RESTful.
- EXCLUIR – Isso seria usado para excluir todos os funcionários que utilizam o serviço RESTful.
Agora, vamos analisar a situação considerando apenas um registro individual. Digamos que exista um registro de funcionário com o número 1. As seguintes ações teriam seus respectivos significados.
- POST – Isso não seria aplicável, pois estamos buscando dados do funcionário 1, que já foi cadastrado.
- ENTRE – Isso seria usado para obter os detalhes do funcionário com o número de matrícula 1 usando o serviço web RESTful.
- PUT – Isso seria usado para atualizar os dados do funcionário com o número de matrícula 1 usando o serviço web RESTful.
- EXCLUIR – Esta opção serve para excluir os dados do funcionário com o número de matrícula 1.
Repousante Archiarquitetura
Uma aplicação ou arquitetura considerada RESTful ou no estilo REST possui as seguintes características.
1. Estado e funcionalidade são divididos em recursos distribuídos Isso significa que todos os recursos devem ser acessíveis pelos comandos HTTP normais: GET, POST, PUT ou DELETE. Portanto, se alguém quiser obter um arquivo de um servidor, poderá fazer uma requisição GET e obter o arquivo. Se quiser enviar um arquivo para o servidor, poderá fazer uma requisição POST ou PUT. Finalmente, se quiser excluir um arquivo do servidor, poderá fazer uma requisição DELETE.
2. A arquitetura é cliente/servidor, sem estado, em camadas e suporta cache.
- Cliente-servidor é a arquitetura típica em que o servidor pode ser o servidor web que hospeda o aplicativo e o cliente pode ser tão simples quanto o navegador web.
- Sem estado significa que o estado do aplicativo não é mantido em REST. Por exemplo, se você excluir um recurso de um servidor usando o comando DELETE, não poderá esperar que as informações de exclusão sejam passadas para a próxima solicitação.
Para garantir que o recurso seja excluído, você precisaria enviar uma solicitação GET. A solicitação GET seria usada primeiro para obter todos os recursos no servidor, após o que seria necessário verificar se o recurso foi realmente excluído.
Princípios e restrições RESTFul
A arquitetura REST baseia-se em algumas características, detalhadas a seguir. Qualquer serviço web RESTful deve atender a essas características para ser considerado RESTful. Essas características também são conhecidas como princípios de design que devem ser seguidos ao trabalhar com serviços baseados em RESTful.
Este é o requisito mais fundamental de uma arquitetura baseada em REST. Significa que o servidor terá um serviço web RESTful que fornece a funcionalidade necessária ao cliente. O cliente envia uma solicitação ao serviço web no servidor. O servidor, então, rejeita a solicitação ou a atende e fornece uma resposta adequada ao cliente.
- Sem estado
O conceito de "sem estado" significa que cabe ao cliente garantir que todas as informações necessárias sejam fornecidas ao servidor. Isso é necessário para que o servidor possa processar a resposta adequadamente. O servidor não deve manter nenhum tipo de informação entre as requisições do cliente. Trata-se de uma sequência de perguntas e respostas muito simples e independente. O cliente faz uma pergunta e o servidor responde adequadamente. Quando o cliente faz outra pergunta, o servidor não se lembra do cenário anterior e precisa responder à nova pergunta de forma independente.
- Esconderijo
O conceito de cache ajuda a resolver o problema da ausência de estado descrito no ponto anterior. Como cada requisição cliente-servidor é independente, às vezes o cliente pode solicitar a mesma requisição ao servidor novamente, mesmo que já a tenha feito anteriormente. Essa requisição será enviada ao servidor, que responderá, aumentando o tráfego na rede. O cache é um recurso implementado no cliente para armazenar requisições já enviadas ao servidor. Assim, se a mesma requisição for feita pelo cliente, em vez de ir diretamente ao servidor, ela consultará o cache para obter a informação necessária. Isso reduz o tráfego de rede de ida e volta entre o cliente e o servidor.
- Sistema em camadas
O conceito de um sistema em camadas é que qualquer camada adicional, como uma camada intermediária (middleware), pode ser inserida entre o cliente e o servidor que hospeda o serviço web RESTful. (A camada intermediária é onde toda a lógica de negócios é criada. Pode ser um serviço extra com o qual o cliente interage antes de fazer uma chamada ao serviço web.) Mas a introdução dessa camada precisa ser transparente para não interferir na interação entre o cliente e o servidor.
- Interface/Uniforme Contract
Essa é a técnica fundamental de como os serviços web RESTful devem funcionar. O RESTful opera basicamente na camada web HTTP e utiliza os verbos-chave abaixo para interagir com os recursos no servidor.
- POST – Para criar um recurso no servidor.
- GET – Para recuperar um recurso do servidor.
- PUT – Alterar o estado de um recurso ou atualizá-lo.
- DELETE – Remover ou excluir um recurso do servidor.
REST vs SOAP: Principais diferenças
Ao projetar um serviço web, os desenvolvedores frequentemente comparam REST com SOAP. Ambos permitem a comunicação entre aplicações distribuídas, mas diferem bastante em filosofia. REST é um estilo arquitetural que utiliza verbos HTTP simples e formatos leves como JSON, enquanto SOAP é um estilo que utiliza SOAP. SABÃO É um protocolo rigoroso que se baseia em envelopes XML e uma configuração formal.tracA tabela abaixo resume as distinções mais importantes.
| Aspecto | DESCANSO | SABÃO |
|---|---|---|
| Formato | Archiestilo tectural | Protocolo rigoroso |
| Formato de dados | JSON, XML, texto simples, HTML | Somente XML |
| Transporte | Somente HTTP | HTTP, SMTP, TCP e outros |
| Estado | Sem estado | Apátrida ou com estado |
| Desempenho | Mais rápido e mais leve | Mais pesado devido à sobrecarga do XML |
| Melhor para | APIs web, móveis e públicas | Aplicativos empresariais que exigem segurança rigorosa |
Na prática, REST é a escolha padrão para APIs públicas da web e de dispositivos móveis por ser mais rápido e fácil de usar, enquanto SOAP continua sendo útil para sistemas corporativos que exigem segurança integrada e autenticação formal.tracts.
Crie seu primeiro serviço web Restful em ASP.NET
Neste tutorial sobre API REST, aprenderemos como criar um serviço web RESTful em ASP.NET.
Os serviços web podem ser criados em diversas linguagens, e muitos ambientes de desenvolvimento integrados podem ser usados para criar serviços baseados em REST.
Neste exemplo de API RESTful, vamos criar nossa aplicação REST em .NET usando o Visual Studio. Teremos um serviço web RESTful que funcionará com o conjunto de dados abaixo.
O conjunto de dados abaixo representa um exemplo de API REST de uma empresa que expõe os tutoriais que possui com base no Tutorialid.
| Tutorial | TutorialNome |
|---|---|
| 0 | Arrays |
| 1 | filas |
| 2 | Pilhas |
Em nosso exemplo de tutorial de API REST, vamos implementar os verbos RESTful abaixo.
- OBTER Tutorial – Quando um cliente invoca esta API RESTful, ele recebe o conjunto completo de tutoriais disponíveis no serviço web.
- OBTER Tutorial/Tutorialid – Quando um cliente invoca esta API RESTful, ele receberá o nome do tutorial com base no Tutorialid enviado pelo cliente.
- POST Tutorial/Tutorialnome – Quando um cliente invoca esta API RESTful, ele envia uma solicitação para inserir um nome de tutorial. O serviço web, então, adiciona o nome do tutorial enviado à coleção.
- EXCLUIR Tutorial/Tutorialid – Quando um cliente invoca esta API RESTful, ele envia uma solicitação para excluir um Tutorialname com base no Tutorialid. O serviço web, então, exclui o nome do tutorial enviado da coleção.
Vamos seguir os passos abaixo para criar nosso primeiro serviço web RESTful, que realizará a implementação acima.
Como criar seu primeiro serviço Web tranquilo
Passo 1) Crie um novo projeto.
O primeiro passo é criar um vazio Asp.Net Aplicativo web. No Visual Studio 2013, clique na opção de menu Arquivo -> Novo projeto.
Ao clicar na opção Novo Projeto, o Visual Studio exibirá outra caixa de diálogo para que você escolha o tipo de projeto e insira os detalhes necessários. Isso será explicado na próxima etapa.
Passo 2) Insira o nome e a localização do projeto.
- Certifique-se de escolher primeiro o C# Modelo web de uma aplicação web ASP.NET. O projeto precisa ser deste tipo para que seja possível criar um projeto de serviços web. Ao escolher esta opção, o Visual Studio executará os passos necessários para adicionar os arquivos requeridos para qualquer aplicação web.
- Dê um nome ao seu projeto, que no nosso caso é “Webservice.REST”.
- Em seguida, certifique-se de indicar o local onde os arquivos do projeto serão armazenados.
Após a conclusão, você verá o arquivo de projeto criado no explorador de soluções do Visual Studio 2013.
Passo 3) Crie o arquivo de serviço da web.
O próximo passo é criar o arquivo de serviço web que irá hospedar o serviço web RESTful.
- Primeiro, clique com o botão direito do mouse no arquivo do projeto, como mostrado abaixo.
- Nesta etapa,
- Clique com o botão direito do mouse no arquivo do projeto.
- Selecione a opção “Adicionar -> Novo item”.
Na caixa de diálogo que aparece, você precisa realizar o seguinte.
- Escolha a opção Serviço WCF (habilitado para Ajax). Ao escolher um arquivo desse tipo, o Visual Studio adiciona um código básico que ajuda você a criar um serviço web RESTful. WCF significa Serviço Web RESTful. Windows Comunicação FoundationO WCF é uma biblioteca que permite que aplicações de diversas plataformas (ou da mesma plataforma) se comuniquem através de vários protocolos, como TCP, HTTP e HTTPS. Ajax é assíncrono. JavaScript e XML. AJAX permite que páginas da web sejam atualizadas de forma assíncrona, trocando pequenas quantidades de dados com o servidor nos bastidores.
- Em seguida, dê um nome ao serviço, que em nosso caso é TutorialService.
- Por fim, clique no botão Adicionar para adicionar o serviço à solução.
Passo 4) Faça uma configuração.
O próximo passo é fazer uma alteração de configuração para permitir que este projeto funcione com serviços web RESTful. Isso requer uma alteração no arquivo chamado web.configEste arquivo aparece na mesma janela que o arquivo de projeto do serviço web. O arquivo Web.config contém todas as configurações que fazem o aplicativo web funcionar corretamente. A alteração feita permite que o aplicativo envie e receba dados como um serviço web RESTful puro.
- Clique no arquivo Web.config para abrir o código.
- Encontre a linha .
- Alterar a linha para .
Passo 5) Adicione nosso código para implementação.
O próximo passo é adicionar nosso código de implementação. Todo o código abaixo deve ser escrito no arquivo TutorialService.svc.
- O primeiro passo é adicionar o código para representar nossos dados, que serão usados em nosso programa. Teremos, portanto, uma lista de variáveis do tipo string com os valores “Arrays”, “Queues” e “Stacks”. Isso representará os nomes dos tutoriais disponíveis em nosso serviço de hospedagem web.
namespace Webservice.REST { [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class TutorialService { private static List<String> lst = new List<String> (new String[] {"Arrays","Queues","Stacks"});
Passo 6) Defina o código para nosso método GET.
Em seguida, definiremos o código para o nosso método GET. Esse código também ficará no mesmo arquivo TutorialService.svc. Ele será executado sempre que acessarmos o serviço pelo navegador.
O método abaixo será utilizado para cumprir o cenário descrito a seguir.
- Se um usuário desejar uma lista de todos os tutoriais disponíveis, o código abaixo precisará ser escrito para realizar essa tarefa.
[WebGet(UriTemplate = "/Tutorial")] public String GetAllTutorial() { int count = lst.Count; String TutorialList = ""; for (int i = 0; i < count; i++) TutorialList = TutorialList + lst[i] + ","; return TutorialList; }
Code Explicação:-
- A primeira linha de código é a mais importante. Ela define como podemos chamar esse método por meio de um URLEntão, se o link para o nosso serviço web for http://localhost:52645/TutorialService.svc e acrescentamos '/Tutorial' ao URL, como em http://localhost:52645/TutorialService.svc/Tutorial, o código acima será invocado. O atributo 'WebGet' é um parâmetro que permite que este método seja um método RESTful, de forma que possa ser invocado através do verbo GET.
- Esta seção de código é usada para percorrer nossa lista de strings na variável 'lst' e retornar todas elas ao programa de chamada.
Passo 7) Retorne a saída.
O código abaixo garante que, se uma chamada GET for feita ao serviço Tutorial com um ID de tutorial, ele retornará o nome do tutorial correspondente com base nesse ID.
[WebGet(UriTemplate = "/Tutorial/{Tutorialid}")] public String GetTutorialbyID(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); return lst[pid]; }
Code Explicação:-
- A primeira linha de código é a mais importante. Ela define como podemos chamar esse método por meio de um URLEntão, se o link para o nosso serviço web for http://localhost:52645/TutorialService.svc e acrescentamos '/Tutorial/{Tutorialid}' ao URL, poderíamos chamar o serviço web como http://localhost:52645/TutorialService.svc/Tutorial/1Por exemplo. O serviço web retornaria então o nome do tutorial que tinha o ID do tutorial igual a 1.
- Esta seção de código é usada para retornar o nome do tutorial que contém o ID do tutorial passado para o método web.
- Por padrão, o que precisa ser lembrado é que tudo o que for passado para o URL No navegador é uma string.
- Mas você precisa lembrar que o índice da nossa lista precisa ser um número inteiro, então estamos adicionando o código necessário para primeiro converter o Tutorialid em um número inteiro.
- Em seguida, usamos esse valor para acessar a posição do índice em nossa lista e retornar o valor correspondente ao programa que fez a chamada.
Passo 8) Escreva o código para o método POST.
O próximo passo é escrever o código para o nosso método POST. Este método será invocado sempre que quisermos adicionar um valor de string à nossa lista de tutoriais através do método POST. Por exemplo, se você quisesse adicionar o nome do tutorial "Teste de Software", você precisaria usar o método POST.
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/Tutorial/{str}")] public void AddTutorial(String str) { lst.Add(str); }
Code Explicação:-
- A primeira linha é o atributo 'WebInvoke', que foi associado ao nosso método. Isso permite que o método seja invocado por meio de uma chamada POST. Os atributos RequestFormat e ResponseFormat devem ser especificados como JSON, pois, ao enviar valores para um serviço web RESTful, os valores precisam estar nesse formato.
- A segunda linha de código é usada para adicionar o valor da string passada via chamada POST à nossa lista existente de strings de tutorial.
Passo 9) Adicione um método para lidar com a operação DELETE.
Finalmente, vamos adicionar nosso método para lidar com a operação DELETE. Este método será invocado sempre que quisermos excluir um valor de string existente da nossa lista de tutoriais usando o método DELETE.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public void DeleteTutorial(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); lst.RemoveAt(pid); }
Code Explicação:-
- A primeira linha é o atributo 'WebInvoke', que foi associado ao nosso método. Isso permite que o método seja invocado por meio da chamada DELETE. Os atributos RequestFormat e ResponseFormat devem ser especificados como JSON, pois os valores precisam estar nesse formato. Observe que o parâmetro Method está definido como “DELETE”. Isso significa que, sempre que emitirmos o verbo DELETE, esse método será invocado.
- A segunda linha de código é usada para pegar o Tutorialid enviado por meio da chamada DELETE e posteriormente excluir esse id de nossa lista. (O Intxnumx A função no código é usada para converter o ID do Tutorial de uma variável de string para um número inteiro.
Executando seu primeiro serviço web Restful
Agora que criamos todo o nosso serviço web na seção anterior, vamos ver como podemos executar o serviço Tutorial para que ele possa ser invocado por qualquer cliente.
Para executar o serviço web, siga os passos abaixo.
Passo 1) Clique com o botão direito do mouse no arquivo do projeto – Webservice.REST.
Passo 2) Selecione a opção de menu "Definir como Projeto de Inicialização". Isso garantirá que este projeto seja executado quando o Visual Studio executar toda a solução.
Passo 3) O próximo passo é executar o próprio projeto. Dependendo do navegador padrão instalado no sistema, o nome do navegador correspondente aparecerá ao lado do botão "Executar" no Visual Studio. No nosso caso, temos Google Chrome aparecendo. Basta clicar neste botão.
Resultado:-
Após a execução do projeto, você poderá acessar a seção TutorialService.svc/Tutorial e obterá a saída abaixo.
Na saída acima,
- Você pode ver que o navegador está invocando o verbo 'GET' e executando o método 'GetAllTutorial' no serviço web. Este módulo é usado para exibir todos os tutoriais disponibilizados pelo nosso serviço web.
Testando seu primeiro serviço web Restful
Na seção anterior, já vimos como usar o navegador para executar o verbo 'GET' e invocar 'GetAllTutorial'.
- Vamos agora usar o navegador para executar o seguinte cenário de caso de uso.
GET Tutorial/Tutorialid – Quando um cliente invoca esta API RESTful, ele receberá o nome do tutorial com base no Tutorialid enviado pelo cliente.
No seu navegador, adicione a string /1 após a palavra Tutorial no URLSe você pressionar a tecla Enter, obterá a saída abaixo.
Agora você verá a saída "Filas", que corresponde ao número 1 em nossa lista de strings de tutoriais. Isso significa que o método 'GetTutorialbyID' está sendo invocado pelo nosso serviço web. Também mostra que o valor 1 está sendo passado com sucesso pelo navegador para o nosso serviço web e para o nosso método, e é por isso que estamos obtendo o valor correto de "Filas" no navegador.
- Em seguida, vamos consumir nosso serviço web executando o cenário abaixo. Para isso, você precisa instalar a ferramenta chamada Fiddler, que é uma ferramenta gratuita para download.
POST Tutorial/Tutorialname – Quando um cliente invoca esta API RESTful, ele envia uma solicitação para inserir um nome de tutorial. O serviço web, então, adiciona o nome do tutorial enviado à coleção.
execute o Fiddler ferramenta e execute os passos abaixo.
- Acesse a seção de compositor. Ela é usada para criar solicitações que podem ser enviadas a qualquer aplicativo web.
- Certifique-se de que o tipo de solicitação seja “POST” e o endereço esteja correto. URL está sendo atingido, o que em nosso caso deveria ser http://localhost:52645/TutorialService.svc/Tutorial.
- Certifique-se de que o Content-Type esteja definido como application/json. Lembre-se de que o método de requisição POST em nosso serviço web aceita apenas dados no formato JSON, portanto, precisamos garantir que isso seja especificado ao enviar uma requisição para nossa aplicação.
- Finalmente, precisamos inserir nossos dados. Lembre-se de que nosso método POST aceita um parâmetro chamado 'str'. Portanto, aqui estamos especificando que queremos adicionar um valor chamado "Trees" à nossa coleção de nomes de tutoriais e garantir que ele seja associado à variável 'str'.
Por fim, basta clicar no botão Executar em FiddlerIsso enviará uma solicitação ao serviço web para enviar os dados "Árvores" para o nosso serviço web via POST.
Agora, ao acessarmos o Tutorial URL Ao visualizar todas as strings em nossa lista de tutoriais, você verá que o valor de “Trees” também está presente. Isso demonstra que a requisição POST para o serviço web foi executada com sucesso e que o item foi adicionado à nossa lista de tutoriais com êxito.
- Em seguida, vamos consumir nosso serviço web executando o cenário abaixo. Para isso, também precisamos usar o Fiddler ferramenta.
EXCLUIR Tutorial/Tutorialid – Quando um cliente invoca esta API RESTful, ele envia uma solicitação para excluir um Tutorialname com base no Tutorialid. O serviço web, então, exclui o nome do tutorial enviado da coleção.
execute o Fiddler ferramenta e execute os passos abaixo.
- Acesse a seção de compositor. Ela é usada para criar solicitações que podem ser enviadas a qualquer aplicativo web.
- Certifique-se de que o tipo de solicitação seja “DELETE” e esteja correto. URL está sendo atingido, o que em nosso caso deveria ser http://localhost:52645/TutorialService.svc/TutorialCertifique-se de que o ID usado para excluir uma string da lista seja enviado via URL como parâmetro. No nosso exemplo REST, estamos enviando 1, então isso excluirá o 2.nd elemento em nossa coleção, que é “Filas”.
Por fim, basta clicar no botão Executar em FiddlerIsso enviará uma solicitação ao serviço web para EXCLUIR os dados "Filas" do nosso serviço web.
Agora, ao acessarmos o Tutorial URL Ao visualizar todas as strings em nossa lista de tutoriais, você notará que o valor de “Filas” não está mais presente.
Isso demonstra que a solicitação DELETE ao serviço web foi executada com sucesso. O elemento no índice 1 da nossa lista de strings do tutorial foi excluído com êxito.
Melhores práticas de API RESTful
Criar uma API REST funcional é apenas o primeiro passo; criar uma que seja escalável e de fácil manutenção exige disciplina. As práticas abaixo ajudam a manter seus endpoints previsíveis, seguros e fáceis de usar para outros desenvolvedores e agentes de IA.
- Use substantivos, não verbos, em URLs. Pontos finais como /funcionários/1 são mais claros do que /getEmployee?id=1, porque o verbo HTTP já descreve a ação.
- Retorna códigos de status significativos. Envie o código 200 para sucesso, 201 para recurso criado, 400 para solicitação inválida, 401 para acesso não autorizado, 404 para recurso ausente e 500 para erros do servidor.
- Versionar sua API. Adicionando um segmento de versão como /v1/ O caminho permite que você evolua o serviço sem afetar os clientes existentes.
- Proteja todos os pontos de extremidade. Utilize HTTPS, juntamente com chaves de API ou tokens OAuth 2.0, e valide todas as entradas recebidas.
- Suporte para paginação e filtragem. Retornar coleções grandes em páginas mantém as respostas rápidas e reduz a carga do servidor.
Seguir essas convenções torna seu serviço web RESTful intuitivo de integrar, seja o consumidor um aplicativo móvel, um sistema parceiro ou um fluxo de trabalho automatizado de IA.




























