DEV Community

Cover image for Um projeto Rest API - P1
Flávia Correia for Devs Jequié

Posted on • Edited on

Um projeto Rest API - P1

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)