Fala pessoal! Tudo bem?
Hoje vim falar um pouco com vocês sobre Rest API's. Um assunto bem comentado e muito necessário no aprendizado do dev backend, até porque saber desenvolver aplicações baseadas em Rest se tornou um dos pré-requisitos para conquistar aquele primeiro emprego.
Se você é alguém que está buscando novos conhecimentos, querendo se aprofundar um pouco nesse mundo de Rest ou até mesmo relembrar conceitos básicos, mas necessários, continue aqui nesse post.
Boa leitura e espero que goste! :D
O que é REST?
REpresentational State Transfer significa, de forma literal, Transferência de Estado Representacional, Rest não é um framework, uma linguagem, aplicação, nem nada disso.
É um modelo para desenvolvimento de arquiteturas que traz em seu escopo diretrizes/padrões de comunicação para serem utilizadas na definição bem as interfaces de projetos e as mesmas devem ser muito bem delimitadas. Esse modelo possibilita a produção de sistemas distribuídos mais eficientes e confiáveis.
Na internet, a REST é um estilo, e o HTTP é um padrão.
As constraints REST
As mesmas que são determinadas pela arquitetura Rest são:
1. Cliente-Servidor: ambos separados e independentes;
2. Stateless: a comunicação entre o cliente e o servidor deve ser sem estado (No escopo da requisição deve conter tudo o que é necessário para que seja processada da forma correta);
3. Cache: as respostas devem informar de modo claro se devem ser armazenadas em cache ou não;
4. Interface uniforme: todos os provedores e consumidores devem compartilhar uma única interface do usuário para todas as operações (Dá possibilidade para que as partes envolvidas evoluam de forma independente);
5. Sistema em camadas: habilidade de adicionar ou remover intermediários em tempo de execução sem que haja a interrupção do sistema;
6. Codificação sob demanda (opcional): a lógica em clientes pode ser atualizada independentemente da lógica do servidor usando código executável fornecido de provedores no lado cliente.
Lembrando que, aplicações que implementam a arquitetura RESTful, são aquelas que implementam todas as restrições citadas acima.
Uma das vantagens é que aplicações REST são independentes de linguagens,por exemplo, o backend pode ser em Java e o frontend em React.
Mas, e API?
As API's (Application Programming Interface) são um conjunto de requisições que permite a comunicação de dados entre as aplicações. Como no exemplo citado acima, o Cliente-Servidor.
As API's utilizam-se das requisições HTTP que são responsáveis pela manipulação de dados, ou seja solicitar o CRUD em um dado armazenado, aquele a gente vê em Banco de Dados (Create Read, Update e Delete), aqui são responsáveis por isso os verbos POST, GET, PUT, DELETE, PATCH, OPTIONS, HEAD, e mais uma infinidade deles.
E agora?
Nas próximas publicações pretendo trazer a produção de uma Rest API usando o Spring Tools Suite 4, além do Docker para rodar o MySQL e o PHPMyAdmin, Jakarta EE, Lombok, FlyWay, e, por enquanto, vamos ver os resultados através do Postman. Futuramente, vou estar publicando um projeto frontend utilizando React.
Aguardem!
Fique na Paz e até mais!
.
.
.
(viu algum erro ou discrepância? manda uma mensagem :D)
Top comments (0)