Sobes.tech
Junior — Middle

O que se entende por API RESTful e a que critérios ela corresponde?

sobes.tech IA

Resposta da IA

RESTful API é um estilo arquitetónico para criar serviços web que utiliza os princípios REST (Transferência de Estado Representacional). As principais características da API RESTful:

  • Arquitetura cliente-servidor: o cliente e o servidor estão separados, permitindo que evoluam de forma independente.

  • Sem estado (stateless): cada pedido do cliente ao servidor deve conter toda a informação necessária para processamento, o servidor não mantém estado entre pedidos.

  • Cacheável: as respostas do servidor devem indicar claramente se podem ser armazenadas em cache, o que melhora o desempenho.

  • Interface uniforme: uso de métodos HTTP padrão (GET, POST, PUT, DELETE, etc.) para operações com recursos.

  • Identificação de recursos: os recursos são identificados através de URLs (por exemplo, /utilizadores/123).

  • Sistema de múltiplos níveis: a arquitetura pode ter vários níveis (proxy, balanceadores), sem afetar a interação entre cliente e servidor.

Exemplo de uma requisição a uma API RESTful em C# usando HttpClient:

using System.Net.Http;
using System.Threading.Tasks;

HttpClient client = new HttpClient();

// Obter utilizador com id=123
HttpResponseMessage response = await client.GetAsync("https://api.exemplo.com/utilizadores/123");
string content = await response.Content.ReadAsStringAsync();

// content contém os dados do utilizador em formato JSON

Desta forma, a API RESTful é construída em torno de recursos e operações HTTP padrão, garantindo simplicidade e escalabilidade.