Resumo Sobre Arquitetura REST
- #API Rest
Este arquivo irá abordar de forma concisa conceitos sobre API e APIs REST.
Conceito de API - Application Programming Interface
A API é uma Interface que permite a comunicação e o compartilhamento de informações entre dois sistemas distintos, através de solicitações e respostas.
Funcionamento
A arquitetura da API costuma ser explicada em termos de cliente e servidor.
A aplicação que envia a solicitação é chamada de cliente;
A aplicação que recebe a resquest e envia a resposta é chamada de servidor.
Uma vez entendidos os conceitos referentes a APIs, vamos seguir para o entendimento sobre APIs REST.
A sigla REST (Representational State Transfer), significa, em português, Transferência de Estado Representacional. Nesse estilo arquitetural, clientes e servidores compartilham dados usando o protocolo HTTP, o qual permite a consulta, criação, atualização e remoção destes dados.
💡 A principal característica da API REST é a ausência de estado, isso significa que cada solicitação feita a um serviço ou recurso na arquitetura REST deve conter todas as informações necessárias para processar essa solicitação. O servidor não mantém informações sobre o estado da sessão entre as solicitações do cliente. Cada solicitação é independente e autocontida.
Principais Método HTTP
POST (Create)
→ Cria um recurso a partir do uso de uma classe existente.
GET (Read)
→ Utilizado para obtenção de um recurso/dado.
PUT (Update)
→ Atualiza recurso inteiro, mesmo que não haja intenção de alteração em um dos campos.
PATCH
→ Atualiza recurso parcialmente. É possível por exemplo, modificar apenas o campo "age" de um recurso. Método é mais performático.
DELETE (Delete)
→ Remove o recurso
TRACE
→ Ecoa de volta a requisição recebida para que o cliente veja se houveram mudanças e adições feitas por servidores.
Principais Códigos de Status HTTP
Os códigos de status em HTTP são mensagens numéricas que um servidor web envia para um navegador ou cliente para informar sobre o resultado de uma solicitação HTTP realizada.